J'essaye d'intégrer Janrain Engage en tant que module personnalisé avec Appcelerator Titanium. J'ai créé un module d'exemple et déplacé le dossier JREngage vers l'exemple de module xcodeproj comme indiqué dans la documentation de Jainrain.
Maintenant, je donne la commande de construction à ce projet, puis j'exécute ./build.py
et enfin j'exécute la titanium run
commande. Il lance l'application dans le simulateur avec un écran vide et se bloque immédiatement en lançant l'erreur suivante.
Arrêt de l'application en raison d'une exception non interceptée 'NSInternalInconsistencyException', raison: 'Impossible de charger NIB dans le lot:' NSBundle </ Users / abhilash / Library / Application Support / iPhone Simulator / 4.2 / Applications / CA167346-4091-4E16-B841-955D1D391713 / test.app> (chargé) 'avec le nom' JRProvidersController ''
Pourquoi cette erreur pourrait-elle se produire?
Dans
Targets -> Build Phases
Assurez-vous que le .xib est ajouté
Copy Bundle Resources
, s'il n'est pas présent, ajoutez le fichier .xib.la source
essayer de tout savoir
dans votre code, et assurez-vous qu'ils
XXXController
sont correctement orthographiésla source
initWithNibName:bundle:
méthodeJ'ai eu le même problème (exception «Impossible de charger NIB dans le bundle: ..») après la mise à niveau de mon xcode de 3.2 à 4.02. Alors que le déploiement de mon application avec Xcode 3.2 a bien fonctionné, il se bloque avec xcode 4 soulevant l'exception mentionnée ci-dessus - mais seulement lorsque j'ai essayé de déployer sur le simulateur IOS (v.4.2). Le ciblage du périphérique IOS (v.4.1) agissait également avec Xcode 4.
Il s'est avéré (après des heures de recherche désespérée) que la raison était un paramètre presque "caché" dans le fichier .xib:
Consultez les propriétés des fichiers .xib dans l'inspecteur de fichiers: La propriété 'Location' a été définie sur 'Relative to Group' pour tous les fichiers .xib. Je l'ai changé en «Relatif au projet» et voilà: tous les fichiers .xib sont maintenant correctement chargés dans le simulateur IOS!
Je n'ai aucune idée de la raison de ce comportement étrange de Xcode4, mais cela vaut peut-être la peine de faire une tentative?
la source
Dans mon cas, c'était très étrange (utilisez un storyboard): pour une raison quelconque, il est passé de "Nom de base du fichier principal du storyboard" à "Nom de base du fichier nib principal" dans le plist.
Le retour au "Nom de base du fichier storyboard principal" (UIMainStoryboardFile) a résolu le problème
la source
l'erreur signifie qu'il n'y a pas de fichier .xib avec le
"JRProvidersController"
nom. revérifiez s'ilJRProvidersController.xib
existe.vous allez charger
.xib file
avecla source
En utilisant une vue Swift personnalisée dans un contrôleur de vue Objective-C (oui, même après l'importation du
<<PROJECT NAME>>-Swift.h
fichier), j'avais essayé de charger la pointe en utilisant:... mais
NSStringFromClass([MyCustomView class])
revient<<PROJECT NAME>>.MyCustomView
et le chargement échoue. TL; DR Tout a bien fonctionné en chargeant la pointe en utilisant une chaîne littérale:la source
La cible de construction étant l'un de mes appareils iOS, j'ai cliqué avec le bouton droit sur le fichier Produit (xyzw.app) et sélectionné l'élément contextuel Afficher dans le Finder. Il a ouvert une fenêtre avec le xyzw.app à l'intérieur; J'ai ouvert le paquet en utilisant Afficher le contenu du paquet et j'ai vu tous les fichiers que j'attendais, sauf un fichier, celui dont il se plaignait, avec un I majuscule au lieu d'un i minuscule dans le nom (zoomieVIew.nib au lieu de zoomieView.nib ). J'avais remarqué le I majuscule dans le nom de fichier du xib, je l'ai changé et reconstruit; apparemment, Xcode a laissé le nom .nib généré tel quel. J'ai supprimé zoomieVIew.nib dans le bundle, reconstruit et Xcode a dûment recréé le fichier en tant que zoomieView.nib. L'application a commencé à fonctionner sur l'appareil.
la source
J'ai eu ce problème avec un storyboard et la pointe s'appelait quelque chose comme 'bKD-J3-fhr-view-ZSR-8m-2da'.
C'était parce que j'essayais d'ajouter une sous-vue à self.view dans l'initialisation d'un contrôleur de vue (withCoder). Self.view n'existe pas encore.
Je l'ai déplacé vers viewDidLoad et tout mieux!
la source
Regardez le projet
Target -> Buid Phases -> Copy Bundle Resources
Vous trouverez votre xib / storyborad de couleur rouge.
Supprimez-le simplement. Supprimez également toutes les références de fichier manquant du projet.
Maintenant, faites à nouveau glisser ce fichier storyboard / xib vers celui-ci
Copy Bundle Resources
. Il affichera toujours votre fichier avec une couleur rouge, mais ne vous inquiétez pas à ce sujet.Juste nettoyer et construire le projet.
Vous allez maintenant relancer votre projet avec succès !!
la source
Pour Storyboard
J'ai essayé toutes les solutions publiées ici mais rien n'a fonctionné pour moi car j'utilise Storyboard avec Swift 5.
Je viens de commencer à créer de nouveaux contrôleurs et des vues dans l'application de test de storyboard, ce que j'ai trouvé est que je manquais l'ID de storyboard de My View Controller.
Voici donc ma solution, si vous voulez aller de ViewController A -> View Controller B
Étape 1. Dans le storyboard: assurez-vous simplement que votre ViewControllerA est intégré dans le contrôleur de navigation
Étape 2. Dans le storyboard: Vérifiez maintenant que vous avez mentionné l'ID de Storyboard pour votre ViewControllerB que vous utiliserez dans le code comme identifiant.
Étape 3. et enfin assurez-vous que vous poussez le contrôleur de cette façon dans votre ViewControllerA en cliquant sur le bouton.
la source
NE METTEZ PAS .xib LORSQUE VOUS INSÉREZ DANS LE NOM XIB! C'EST DÉJÀ IMPLICITE!
Ne faites pas ça:
Faites ceci:
la source
Exemple Swift4 si votre MyCustomView.swift et MyCustomView.xib dans un framework. Placez ceci dans l 'init de MyCustomView :
la source
J'ai également trouvé que cela a échoué lorsque j'ai essayé de charger le XIB avec un nom comme @ "MyFile.xib". Quand je viens d'utiliser @ "MyFile", cela a fonctionné - apparemment, il ajoute toujours l'extension. Mais le message d'erreur disait simplement qu'il ne pouvait pas trouver MyFIle.xib dans le bundle - s'il avait dit MyFile.xib.xib, cela aurait été un gros indice.
la source
En travaillant sur Xcode 4.6.3 et en localisant mes fichiers NIB, je rencontre également ce problème.
Pour moi, rien d'autre n'a aidé à part changer la "gestion des versions de document" dans l'inspecteur de fichiers en déploiement 5.0 au lieu de 6.1.
la source
Cela se produit lorsque vous renommez le fichier nib. Si vous l'avez déjà fait, créez une nouvelle pointe (c'est-à-dire copiez le contenu du fichier de pointe actuel vers la nouvelle pointe), supprimez l'ancien fichier de pointe et cela résoudra votre problème.
Edit: Avec le nouveau Xcode à partir de la version 4.6.3, si vous renommez (avec la fonction refactor) la classe Controller, il renommera également le fichier nib et vous n'aurez pas à vous soucier du problème de chargement de la pointe.
la source
Je viens de vivre une expérience intéressante avec Xcode 6.3.
J'ai continué à recevoir cette erreur, malgré tout ce à quoi vous pensez normalement avec l'orthographe, l'appartenance à la cible, etc. comme suggéré ci-dessus. J'ai également essayé de nettoyer, de supprimer les données dérivées et de supprimer l'application du simulateur plusieurs fois pour m'assurer que le bundle était correctement construit, mais en vain.
Finalement, suite à la réponse de Brian Michael Bentley, j'ai finalement décidé d'inspecter mon fichier .app dans le dossier de mon simulateur sur mon HD. J'ai trouvé que tous mes nibs étaient là mais avec un abc ~ ipad.nib au lieu de l'abc.nib attendu. J'ai renommé manuellement tous ces fichiers pour supprimer la partie ~ ipad, construit et cela a fonctionné!
En essayant de voir pourquoi ceux-ci ont été ajoutés avec le mot-clé ~ ipad, j'ai regardé les paramètres de mon projet et en fait, dans mon onglet Général> Informations de déploiement, je n'avais sélectionné que l'iPad. J'essayais de courir sur un simulateur iPhone. Je pense que dans le passé, Xcode donnait une erreur indiquant que le binaire ne supportait pas l'iPhone et que vous ne parveniez pas à exécuter l'application.
J'ai supprimé l'application du simulateur et j'ai refait la même chose - encore une fois avec seulement iPad pris en charge. Cette fois, le .app contenait abc ~ iphone.nib ET abc ~ ipad.nib pour chaque storyboard attendu et il fonctionnait très bien sur le simulateur iPhone. Encore une fois - Si nous choisissons l'iPad uniquement dans nos paramètres d'informations de déploiement, il ne devrait pas fonctionner sur iPhone Simulator. C'est un bogue Xcode.
Donc, il y a un comportement incohérent ici de la part de Xcode et malheureusement c'est un bogue intermittent et cela peut être difficile à reproduire, mais je mets ceci ici pour que cela puisse aider d'autres à l'avenir.
la source
Si ce même problème n'avait rien fonctionné, j'ai donc pensé à quelque chose de bizarre avec des données dérivées.
Dans xcode 6.3.2, je devais:
Dans le menu XCode -> Préférences -> Onglet Emplacements -> Dans Emplacements, remplacez les données dérivées par relatives, puis revenez à la valeur par défaut
Ensuite, la pointe s'est bien chargée.
la source
Votre fichier XIB est probablement en dehors de votre dossier de projet. Cela conduit à ne pas afficher l'inspecteur de cible. Cependant, le déplacement du fichier XIB dans votre dossier de projet devrait le résoudre.
la source
Attention: Xcode est sensible à la casse avec les noms de fichiers. Ce n'est pas la même chose «Fun» que «fun».
la source
Si vous utilisez des frameworks dans votre projet, vous devez vous assurer que vous chargez à partir du bundle correct:
la source
pour moi, il a résolu simplement en changeant le nom du fichier de ma cellule en le même que sa classe.
Dans l'inspecteur d'attributs (troisième onglet sur la barre latérale droite du story-board):
Enregistrez la cellule dans votre contrôleur de vue comme suit:
tableView.register (UINib (nibName: "MyCellClass", bundle: nil), forCellReuseIdentifier: "MyCellId")
la source
J'ai eu ce problème en transformant mon ancien code de XCode 3x en XCode 4 et je l'ai résolu en renommant simplement wwwwwwww.xib en RootViewController.xib
la source
J'ai rencontré le même problème. Dans mon cas, le nom de la plume était "MyViewController.xib" et je l'ai renommé en "MyView.xib". Cela a éliminé l'erreur.
Je déplaçais également un projet de XCode 3 vers 4.2. La modification du type de chemin n'a pas d'importance.
la source
La raison peut également être que le fichier est recherché dans le mauvais dossier spécifique à la langue lorsque vous avez perturbé les localisations.
la source
Chaque fois que je refactore le nom d'un contrôleur de vue qui se trouve dans mon appDelegate, je perds du temps là-dessus. Le refactoring ne modifie pas le nom de la pointe dans initWithNibName: @ "MYOldViewControllerName".
la source
J'ai eu le même problème, renommer mon identifiant de contrôleur de vue dans le storyboard a fonctionné pour moi.
la source
J'ai remarqué que cela peut arriver si vous passez d'une branche à l'autre dans git et que vous oubliez de faire un clean. Donc xib est là et tout est trouvé, mais la construction exacte peut avoir des problèmes. Alors juste au cas où n'oubliez pas de faire un nettoyage
la source
Dans le code ci-dessus, si vous donnez également une extension de fichier comme "SecondView.xib", alors c'est faux et vous donnera l'erreur ci-dessus. Utilisez plutôt "SecondView". J'ai fait cette erreur.
la source
Cela fonctionne pour moi .. Assurez-vous que vous avez saisi correctement le nom de la plume.
[[NSBundle mainBundle] loadNibNamed: @ "Graphview" owner: self options: nil];
Graphview (nom de la pointe)
la source