2010-08-05 9 views
15

Creé una aplicación de iPhone bastante simple. Luego pensé que crearía una versión para iPad (Universal) de la aplicación. Intenté usar la opción 'actualizar' y eso no funcionó. Así que creé una aplicación universal separada y copié los archivos xib en mi proyecto. Eso tampoco funcionó, así que borré los archivos xib (y sus archivos .m & .hClase desconocida en el archivo de Interface Builder

Ahora, cuando ejecuto la versión para iPhone, me da la clase Desconocida iPadSample1AppDelegate en el archivo de Interface Builder. y UISplitViewController solo se admite cuando se ejecuta bajo UIUserInterfaceIdiomPad y luego se cierra. Por lo tanto, restauré a la instantánea que tomé antes de embarcarme en la aventura del iPad ... Recibo el mismo error. He intentado con la búsqueda de XCode y la búsqueda de Spotlight No hay ninguna referencia a esa clase o al UISplitViewController en ningún lugar de mi proyecto, pero por alguna razón XCode cree que existe.

¿Hay alguna manera de eliminar una referencia que no existe? LOL

Actualización:

Puede tener algo que ver con el entorno de XCode que se está conectando. Después de encontrar algunos otros puestos de aquí, he intentado un Limpiar todo/Construcción/Touch y cuando hice el tacto, tengo el siguiente error en XCode:

Excepción no detectada:

- [ setFileLocations XCBuildLogWarningMessage:]: selector no reconocido enviados a instancia 0x2014dd0a0

de todos modos volver a instalar XCode sin estropear todo lo demás?

Respuesta

20

Resulta que los bits en el simulador de iPhone no estaban sincronizados con XCode. Hice un 'Restablecer contenido y configuración' y todo funciona :) ¿Quién sabía?

+0

Gracias !!! ¡TANTO! – RanLearns

+0

¡Gracias! Me acabas de ahorrar tiempo intentando depurar esto más. Tiene sentido ahora que la información de depuración que vemos se anuncia desde el simulador de iOS. Pero lo que no era obvio era que la aplicación no se estaba implementando recientemente cada vez. Está muy bien limpiar los datos derivados en la vista Organizador de XCode 4, pero si los archivos IB en el simulador iOS todavía son viejos, no es de extrañar que arroje un error extraño. Gracias por el descubrimiento – jbjon

+5

También tuve este problema, pero esta solución no funcionó para mí. Mi problema estaba relacionado con que la clase no se incluye en Copy Bundle Resources. Cheers, –

1

Tuve este mismo problema pero no fue resuelto por la solución anterior. Terminé haciendo que funcionara eliminando la entrada "Nombre del archivo principal del guión gráfico (iPad)" de mi archivo info.plist.

13

Si va a crear fases dentro de sus objetivos, verá Fuentes de compilación. Asegúrese de que cada uno de los m archivos que necesita estén en la lista. Si no, solo agrégalo aquí y la advertencia debería desaparecer.

+0

Solucionado por mí. Xcode tiene problemas para agregar/mover archivos. – Thromordyn

+0

Gracias, me salvó de muchos dolores de cabeza posibles. – doge

+0

Agregando los archivos a fuentes de compilación hizo el truco para mí, @Thromordyn podría tener razón en que Xcode no está agregando archivos correctamente. – zanussi

5

hice algunas investigaciones y descubrió que

for my case

sólo hay que hacer clic derecho a quejarse de archivo en el Navegador de proyectos.

Elija View/Utilities/Show File Inspector. Y por alguna razón, el Target Membership no fue seleccionado.

Es por eso que el enlazador dice que no sabe la existencia de la clase.

Acabo de marcar para elegir y todo funciona como un encanto.

+0

tyvm: me acabas de ahorrar 2 horas de depuración: los IDE son geniales cuando conoces todos los problemas, pero a menudo un PITA cuando estás aprendiendo ... – kfmfe04

7

clic derecho en Storyboard -> Abrir como -> Código Fuente

Encuentra tu nombre de clase desconocida en el archivo de origen del guión gráfico.Puede ser porque accidentalmente has asignado un nombre de clase personalizado para una de tus subclases UIView '.

+0

Exactamente mi caso. Y bueno saber una nueva forma de abrir el archivo xib – Philip007

+0

esta debería ser la respuesta correcta. Gracias –

1

lo que lo solucionó fue "eliminar" la AP en el simulador y volver a generarla.

Probablemente esta clase todavía se volvió a aplicar en la configuración local en el simulador de iphone.

0

En mi caso, este error apareció después de refactorizar el nombre de la clase. De alguna manera, el nombre de clase no cambió en el archivo .xib. Abrí este archivo xib en Textedit y reemplazo todo OldClassVC en NewClassVC. Luego guardé el archivo xib y el proyecto limpio antes de la compilación nueva. Proyecto funciona bien

0

En caso de que esté usando Cocoa pods, arrastre los archivos .framework/.a a la sección de "proyectos binarios con bibliotecas" de sus proyectos.

Cuestiones relacionadas