iphone - solicitado - No se pudo cargar NIB en paquete
no se pudo restaurar el iphone ocurrio un error desconocido 9 (27)
Estoy tratando de integrar Janrain Engage como módulo personalizado con Appcelerator Titanium. Creé un módulo de muestra y arrastré la carpeta JREngage al módulo de muestra xcodeproj como se indica en la documentación de Jainrain.
Ahora doy comando de compilación a este proyecto, luego ejecuto el ./build.py
y finalmente ejecuto el comando titanium run
. Lanza la aplicación en el simulador con una pantalla en blanco y se bloquea inmediatamente lanzando el siguiente error.
Aplicación de terminación debido a excepción no detectada ''NSInternalInconsistencyException'', razón: ''No se pudo cargar NIB en paquete:'' NSBundle </ Users / abhilash / Library / Application Support / iPhone Simulator / 4.2 / Applications / CA167346-4091-4E16-B841-955D1D391713 / test.app> (cargado) ''con nombre'' JRProvidersController ''''
¿Por qué podría estar ocurriendo este error?
¡NO PONGA .xib CUANDO INSERTAR EN EL NOMBRE DE XIB! ¡YA ESTÁ IMPLICADO!
No hagas esto:
UIView *viewFromNib = [[NSBundle mainBundle] loadNibNamed:@"ResultsAssessmentView.xib" owner:self options:nil][0];
Hacer esto:
UIView *viewFromNib = [[NSBundle mainBundle] loadNibNamed:@"ResultsAssessmentView" owner:self options:nil][0];
Acabo de tener una experiencia interesante usando Xcode 6.3.
Seguí recibiendo este error también, a pesar de intentar todo lo que normalmente se piensa con la ortografía, la membresía objetivo, etc. como se sugirió anteriormente. También intenté limpiar, eliminar datos derivados y también eliminar la aplicación del simulador varias veces para asegurarme de que el paquete se estaba compilando correctamente, pero fue en vano.
Finalmente, siguiendo la respuesta de Brian Michael Bentley, finalmente decidí inspeccionar mi archivo .app en la carpeta de mi simulador en mi HD. Descubrí que todas mis puntas estaban allí, pero con un abc ~ ipad.nib en lugar del esperado abc.nib. Cambié manualmente el nombre de todos estos archivos para eliminar la parte ~ ipad, ¡lo construí y funcionó!
Al tratar de ver por qué estos se han agregado a la palabra clave ~ ipad, revisé la configuración de mi proyecto y, de hecho, en mi pestaña General> Información de implementación, solo seleccioné el iPad. Estaba tratando de ejecutar en un simulador de iPhone. Creo que en el pasado, Xcode daba un error que indicaba que el binario no era compatible con el iPhone y que no lograría ejecutar la aplicación.
Eliminé la aplicación del simulador e hice lo mismo otra vez, nuevamente con solo iPad compatible. Esta vez, .app contenía abc ~ iphone.nib Y abc ~ ipad.nib para cada guión gráfico esperado y se ejecutó en el simulador de iPhone sin problemas. De nuevo: si elegimos el iPad solo en nuestra configuración de Deployment Info, no debería ejecutarse en el simulador de iPhone. Este es un error de Xcode.
Entonces, hay un comportamiento inconsistente aquí de parte de Xcode y desafortunadamente es un error intermitente y esto puede ser difícil de reproducir, pero puse esto aquí para que pueda ayudar a otros en el futuro.
Cada vez que refactorizo el nombre de un controlador de vista que está en mi aplicación, dejo de perder tiempo en esto. La refactorización no cambia el nombre de la lista en initWithNibName: @ "MYOldViewControllerName".
Como el objetivo de compilación era uno de mis dispositivos iOS, hice clic con el botón derecho en el archivo del Producto (xyzw.app) y seleccioné el elemento emergente Mostrar en el Finder. Abrió una ventana con xyzw.app adentro; Abrí el paquete usando Show Package Contents y vi todos los archivos que esperaba, excepto un archivo, del que se quejaba, con una mayúscula I en vez de una minúscula en el nombre (zoomieVIew.nib en lugar de zoomieView.nib ) Había notado la letra mayúscula I en el nombre de archivo del xib, y la cambié y reconstruí; aparentemente Xcode dejó el nombre .nib generado como estaba. Eliminé zoomieVIew.nib en el paquete, reconstruí, y Xcode recreó debidamente el archivo como zoomieView.nib. La aplicación comenzó a funcionar en el dispositivo.
En Destinos -> Fases de compilación Asegúrese de que .xib se agrega a Copiar recursos de paquete, si no está presente, agregue el archivo .xib
En caso de que esté utilizando marcos en su proyecto, debe asegurarse de que está cargando desde el paquete correcto:
NSBundle *bundle = [NSBundle bundleWithIdentifier:@"<your bundle id here>"];
ABCViewController *vc = [[ABCViewController alloc] initWithNibName:@"<your nib name>" bundle:bundle];
En mi caso, fue muy extraño (usar un guión gráfico): por alguna razón, cambió de "nombre base del archivo del guión gráfico" a "nombre base del archivo de la pluma principal" en el plist.
Volver a "Nombre base del archivo del guión gráfico" (UIMainStoryboardFile) resolvió el problema
Esto funciona para mí. Asegúrate de que escribiste el nombre de la pluma correctamente.
[[NSBundle mainBundle] loadNibNamed: @ "Graphview" owner: self options: nil];
Graphview (nombre de punta)
Mira el proyecto
Target -> Buid Phases -> Copy Bundle Resources
Encontrará su xib / storyborad con color rojo.
Solo elimínelo. Elimine todas las referencias de archivo perdido del proyecto.
Ahora arrastre este archivo storyboard / xib nuevamente a este Copy Bundle Resources
. Todavía le mostrará el archivo con el color rojo, pero no se preocupe por ello.
Solo limpie y construya el proyecto.
¡Ahora ejecutarás tu proyecto de nuevo con éxito!
Noté que puede pasar si cambias de rama en git y olvidas hacer una limpieza. Entonces, xib está ahí y todo se encuentra, pero la construcción exacta puede tener problemas. Entonces, por si acaso, no olviden hacer una limpieza
Obtuve este problema mientras transformaba mi código anterior de XCode 3x a XCode 4 y lo resolví simplemente cambiando el nombre de wwwwwwww.xib en RootViewController.xib
Su archivo XIB probablemente esté fuera de la carpeta de su proyecto. Esto lleva a no aparecer el inspector de destino. Sin embargo, mover el archivo XIB a su carpeta de proyecto debería solucionarlo.
Sucede cuando cambia el nombre del archivo de punta. Si ya lo ha hecho, cree una nueva plumilla (es decir, copie los contenidos actuales del archivo de plumillas en una plumilla nueva), elimine el archivo Nib viejo y esto resolverá su problema.
Editar: con la nueva versión de inicio de Xcode 4.6.3, si cambia el nombre (con la función de refactorización) de la clase de controlador, también cambiará el nombre del archivo de nib y no tendrá que preocuparse por el problema de carga de la punta.
También encontré que falló cuando intenté cargar el XIB con un nombre como @ "MyFile.xib". Cuando acabo de usar @ "MyFile" funcionó, aparentemente siempre agrega la extensión. Pero el mensaje de error solo decía que no podía encontrar MyFIle.xib en el paquete; si hubiera dicho MyFile.xib.xib, eso hubiera sido una gran pista.
También la razón puede ser que el archivo se busca en la carpeta específica del idioma equivocado cuando se metió con localizaciones.
Tenía este mismo problema que nada funcionó, así que pensé algo raro con los datos derivados.
En xcode 6.3.2 tuve que:
En el menú XCode -> Preferencias -> Pestaña Ubicaciones -> En ubicaciones, cambie los datos derivados a relativos y luego vuelva al valor predeterminado
Entonces el plumín cargó bien.
Tengo el mismo problema y mi archivo .xib
ya se ha vinculado en la Target Membership
con el Proyecto. Luego desactivé la casilla de destino del archivo y lo verifiqué nuevamente, luego Clean
y Build
el proyecto. Curiosamente, funcionó para mí.
Trabajando en Xcode 4.6.3 y localizando mis archivos NIB también encuentro este problema.
Para mí, nada más ayudó además de cambiar "Document Versioning" en File Inspector a Deployment 5.0 en lugar de 6.1.
Tuve el mismo problema (excepción ''No se pudo cargar NIB en paquete: ..'') después de actualizar mi xcode de 3.2 a 4.02. Mientras que el despliegue de mi aplicación con Xcode 3.2 funcionó bien, se bloquea con xcode 4 alzando la excepción mencionada anteriormente, pero solo cuando traté de implementarlo en IOS Simulator (v.4.2). La orientación del dispositivo IOS (v.4.1) actuó también con Xcode 4.
Resultó (después de horas de búsqueda desesperada) que la razón era una configuración casi "oculta" en el archivo .xib:
Visite las propiedades de los archivos .xib en el inspector de archivos: la propiedad ''Ubicación'' se estableció en ''Relativo al grupo'' para todos los archivos .xib. Lo cambié a ''Relativo al proyecto'' y voila: ¡todos los archivos .xib ahora están cargados correctamente en el simulador IOS!
No tengo idea de cuál es la razón detrás de esto para este extraño comportamiento Xcode4, pero tal vez vale la pena intentarlo?
Tuve el mismo problema, el cambio de nombre de mi identificador de controlador de vista en el guión gráfico funcionó para mí.
Tuve el mismo problema. En mi caso, el nombre de la punta era "MyViewController.xib" y lo renombré a "MyView.xib". Esto eliminó el error.
También estaba moviendo un proyecto de XCode 3 a 4.2. Cambiar el tipo de ruta no importaba.
Tuve este problema con un guión gráfico y el plumín se llamó algo así como ''bKD-J3-fhr-view-ZSR-8m-2da''.
Fue porque estaba tratando de agregar una subvista a self.view en el init de un controlador de vista (withCoder). Self.view no existe todavía.
Lo moví a viewDidLoad y todo mejor!
Usando una vista Swift personalizada en un controlador de vista Objective-C (sí, incluso después de importar el <<PROJECT NAME>>-Swift.h
archivo <<PROJECT NAME>>-Swift.h
), intenté cargar el plumín usando:
MyCustomView *customView = [[[NSBundle mainBundle] loadNibNamed:NSStringFromClass([MyCustomView class]) owner:self options:nil] objectAtIndex:0];
... pero NSStringFromClass([MyCustomView class])
devuelve <<PROJECT NAME>>.MyCustomView
y la carga falla. TL; DR Todo funcionó bien al cargar el plumín utilizando una cadena literal:
MyCustomView *customView = [[[NSBundle mainBundle] loadNibNamed:@"MyCustomView" owner:self options:nil] objectAtIndex:0];
Visite las propiedades de los archivos .xib en el inspector de archivos, el campo "Membresía de destino" de la propiedad en el cuadro de selección, luego su archivo xib se vinculó con su objetivo
el error significa que no hay un archivo .xib con el nombre "JRProvidersController"
. vuelva a comprobar si JRProvidersController.xib
existe.
cargará el .xib file
con
controller = [[JRProvidersController alloc] initWithNibName:@"JRProvidersController" bundle:nil];
trata de descubrir todo
XXXController = [[XXXControlloer alloc] initWithNibName:@"XXXController" bundle:nil];
en su código, y asegúrese de que XXXController
esté escrito correctamente
SecondViewController *secondViewController = [[SecondViewController alloc]initWithNibName:@"SecondView.xib" bundle:nil];
[self.navigationController pushViewController:secondViewController animated:YES];
En el código anterior, si también le da una extensión de archivo como "SecondView.xib", entonces está mal y le dará el error anterior. Use "SecondView" en su lugar. He cometido ese error.