Estoy intentando 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 el comando de compilación a este proyecto, luego ejecuto el ./build.py
y finalmente ejecuto el titanium run
comando. Lanza la aplicación en simulador con una pantalla en blanco e inmediatamente se bloquea arrojando el siguiente error.
Finalizando la aplicación debido a una excepción no detectada 'NSInternalInconsistencyException', motivo: 'No se pudo cargar NIB en el paquete:' NSBundle </ Users / abhilash / Library / Application Support / iPhone Simulator / 4.2 / Applications / CA167346-4091-4E16-B841-955D1D391713 / test.app> (cargado) 'con el nombre' JRProvidersController ''
¿Por qué podría estar ocurriendo este error?
En
Targets -> Build Phases
Asegúrese de que se agregue el .xib
Copy Bundle Resources
, si no está presente, agregue el archivo .xib.fuente
trata de averiguarlo todo
en su código y asegúrese de que
XXXController
esté escrito correctamentefuente
initWithNibName:bundle:
métodoTuve el mismo problema (excepción 'No se pudo cargar NIB en el paquete: ..') después de actualizar mi xcode de 3.2 a 4.02. Mientras que la implementación de mi aplicación con Xcode 3.2 funcionó bien, se bloquea con xcode 4 generando la excepción mencionada anteriormente, pero solo cuando intenté implementar en el IOS Simulator (v.4.2). Apuntar al dispositivo IOS (v.4.1) actuó también con Xcode 4.
Resultó (después de horas de escarbar desesperadamente) 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 'Relativa al grupo' para todos los archivos .xib. Lo cambié a 'Relativo al proyecto' y listo: ¡todos los archivos .xib ahora están cargados correctamente en el simulador de IOS!
No tengo ni idea de cuál es la razón detrás de este extraño comportamiento de Xcode4, pero tal vez valga la pena intentarlo.
fuente
En mi caso, fue muy extraño (use un guión gráfico): por alguna razón cambió de "Nombre base del archivo del guión gráfico principal" a "Nombre base del archivo nib principal" en el plist.
Cambiar de nuevo al "Nombre base del archivo del guión gráfico principal" (UIMainStoryboardFile) resolvió el problema
fuente
el error significa que no hay ningún archivo .xib con el
"JRProvidersController"
nombre. vuelva a comprobar siJRProvidersController.xib
existe.cargarás
.xib file
confuente
Usando una vista Swift personalizada en un controlador de vista Objective-C (sí, incluso después de importar el
<<PROJECT NAME>>-Swift.h
archivo), intenté cargar la plumilla usando:... pero
NSStringFromClass([MyCustomView class])
vuelve<<PROJECT NAME>>.MyCustomView
y la carga falla. TL; DR Todo funcionó bien cargando la punta usando un literal de cadena:fuente
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 el xyzw.app adentro; Abrí el paquete usando Mostrar contenido del paquete y vi todos los archivos que esperaba, excepto un archivo, del que se quejaba, con una I mayúscula en lugar de una i minúscula en el nombre (zoomieVIew.nib en lugar de zoomieView.nib ). Había notado la I mayúscula en el nombre de archivo de la xib, la cambié y reconstruí; aparentemente Xcode dejó el nombre .nib generado tal como estaba. Eliminé zoomieVIew.nib en el paquete, lo reconstruí y Xcode recreó debidamente el archivo como zoomieView.nib. La aplicación comenzó a funcionar en el dispositivo.
fuente
Tuve este problema con un guión gráfico y la punta se llamaba algo así como 'bKD-J3-fhr-view-ZSR-8m-2da'.
Fue porque estaba tratando de agregar una subvista a self.view en el inicio de un controlador de vista (withCoder). Self.view aún no existe.
¡Lo movió a viewDidLoad y todo mejor!
fuente
Mira el proyecto
Target -> Buid Phases -> Copy Bundle Resources
Encontrarás tu xib / storyborad con color rojo.
Simplemente elimínelo. También elimine todas las referencias del archivo faltante del proyecto.
Ahora arrastre este archivo storyboard / xib nuevamente a este
Copy Bundle Resources
. Todavía le mostrará el archivo en color rojo, pero no se preocupe por eso.Simplemente limpie y construya el proyecto.
¡Ahora podrás volver a ejecutar tu proyecto con éxito!
fuente
Para Storyboard
Probé todas las soluciones publicadas aquí, pero nada funcionó para mí ya que estoy usando Storyboard con Swift 5.
Acabo de comenzar a crear controladores y vistas nuevos en la aplicación de prueba del guión gráfico, lo que encontré es que me faltaba el ID del guión gráfico de mi controlador de vista.
Así que aquí está mi solución, si desea ir desde ViewController A -> View Controller B
Paso 1. En el guión gráfico: solo asegúrese de que su ViewControllerA esté incrustado en el controlador de navegación
Paso 2. En el guión gráfico: ahora verifique si ha mencionado el ID del guión gráfico para su ViewControllerB que usará en el código como identificador.
Paso 3. y finalmente asegúrese de que está presionando el controlador de esta manera en su ViewControllerA con un clic de botón.
fuente
¡NO PONGA .xib CUANDO INSERTES EL NOMBRE XIB! ¡YA ESTÁ IMPLÍCITO!
No hagas esto:
Hacer esto:
fuente
Ejemplo de Swift4 si su MyCustomView.swift y MyCustomView.xib en un marco. Coloque esto en el inicio de MyCustomView :
fuente
También encontré que falló cuando intenté cargar el XIB con un nombre como @ "MyFile.xib". Cuando utilicé @ "MyFile" funcionó, aparentemente siempre agrega la extensión. Pero el mensaje de error simplemente decía que no podía encontrar MyFIle.xib en el paquete; si hubiera dicho MyFile.xib.xib, habría sido una gran pista.
fuente
Trabajando en Xcode 4.6.3 y localizando mis archivos NIB también me encuentro con este problema.
Para mí, nada más ayudó además de cambiar "Control de versiones de documentos" en File Inspector a Implementación 5.0 en lugar de 6.1.
fuente
Ocurre cuando cambia el nombre del archivo nib. Si ya lo ha hecho, cree una nueva plumilla (es decir, copie el contenido del archivo de plumilla actual en la nueva plumilla), elimine el archivo de plumilla anterior y resolverá su problema.
Editar: Con el nuevo Xcode a partir de la versión 4.6.3, si cambia el nombre (con la función de refactorización) de la clase Controlador, también cambiará el nombre del archivo nib y no tendrá que preocuparse por el problema de carga del nib.
fuente
Acabo de tener una experiencia interesante usando Xcode 6.3.
Seguí recibiendo este error también, a pesar de haber intentado todo lo que normalmente pensaría con ortografía, membresía de destino, 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 construyendo 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 abc.nib esperado. Cambié manualmente el nombre de todos estos archivos para eliminar la parte ~ ipad, ¡lo construí y funcionó!
Tratando de ver por qué estos se han agregado con la palabra clave ~ ipad, miré la configuración de mi proyecto y, de hecho, en mi pestaña General> Información de implementación, solo había seleccionado iPad. Estaba intentando ejecutar un simulador de iPhone. Creo que en el pasado, Xcode daría un error que indicaba que el binario no era compatible con iPhone y no lograría ejecutar la aplicación.
Eliminé la aplicación del simulador y volví a hacer lo mismo, nuevamente con solo iPad compatible. Esta vez, el .app contenía abc ~ iphone.nib Y abc ~ ipad.nib para cada guión gráfico esperado y se ejecutó perfectamente en el simulador de iPhone. Nuevamente: si elegimos iPad solo en nuestra configuración de Información de implementación, no debería ejecutarse en iPhone Simulator. Este es un error de Xcode.
Entonces, hay un comportamiento inconsistente aquí por 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.
fuente
Tenía este mismo problema, nada funcionó, así que pensé algo extraño 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 a los valores predeterminados
Luego, la punta se cargó bien.
fuente
Su archivo XIB probablemente esté fuera de la carpeta de su proyecto. Esto conduce a que no aparezca el inspector de destino. Sin embargo, mover el archivo XIB a la carpeta de su proyecto debería solucionarlo.
fuente
Tenga cuidado: Xcode distingue entre mayúsculas y minúsculas con los nombres de archivo. No es lo mismo "diversión" que "diversión".
fuente
En caso de que esté utilizando marcos en su proyecto, debe asegurarse de que está cargando desde el paquete correcto:
fuente
para mí, se resolvió simplemente cambiando el nombre del archivo de mi celda al mismo que su clase.
En el Inspector de atributos (tercera pestaña en la barra lateral derecha en el storyboard):
Registre la celda en su controlador de vista de la siguiente manera:
tableView.register (UINib (nibName: "MyCellClass", paquete: nulo), forCellReuseIdentifier: "MyCellId")
fuente
Tengo este problema al transformar mi código anterior de XCode 3x a XCode 4 y lo resolví simplemente cambiando el nombre de wwwwwwww.xib a RootViewController.xib
fuente
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. No importaba cambiar el tipo de ruta.
fuente
Además, la razón puede ser que el archivo se busque en la carpeta específica del idioma equivocado cuando se metió con las localizaciones.
fuente
Cada vez que refactorizo el nombre de un controlador de vista que está en mi appDelegate, pierdo tiempo en esto. La refactorización no cambia el nombre de la punta en initWithNibName: @ "MYOldViewControllerName".
fuente
Tuve el mismo problema, cambiar el nombre de mi identificador de controlador de vista en el guión gráfico funcionó para mí.
fuente
Me di cuenta de que puede suceder si cambias de rama en git y te olvidas de hacer una limpieza. Entonces xib está ahí y todo está encontrado, pero la compilación exacta puede tener problemas. Así que por si acaso no olvides hacer una limpieza.
fuente
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. En su lugar, utilice "SecondView". He cometido ese error.
fuente
Esto funcionó para mí. Asegúrese de haber escrito el nombre de la punta correctamente.
[[NSBundle mainBundle] loadNibNamed: @ "Graphview" propietario: self options: nil];
Graphview (nombre de la punta)
fuente