classe inconnue dans le fichier Interface Builder [en double]
-
26-09-2019 - |
Question
Cette question a déjà une réponse ici:
J'ai créé une application iPhone assez simple. Ensuite, je pensais créer une version iPad (Universal) de l'application. Essayé en utilisant l'option « mise à niveau » et cela ne fonctionne pas-out. J'ai donc créé une application universelle séparée et copié les fichiers dans mon projet xib. Cela n'a pas non plus, alors j'ai supprimé les fichiers XIB (et leurs fichiers .m et .h associés.
Maintenant, quand je lance la version iPhone, il me donne la classe inconnue iPadSample1AppDelegate dans le fichier Interface Builder. erreur et UISplitViewController est uniquement pris en charge lors de l'exécution sous UIUserInterfaceIdiomPad puis il sort. Donc, je Rénovée à l'snap-shot j'ai pris avant de se lancer dans l'aventure iPad ... Je reçois la même erreur. J'ai essayé la recherche XCode et recherche Spotlight. Il n'y a aucune référence à cette classe ou UISplitViewController partout dans mon projet, mais pour une raison XCode pense qu'il ya.
Y at-il un moyen de supprimer une référence qui n'existe pas? LOL
Mise à jour:
Il peut avoir quelque chose à voir avec mon environnement XCode étant mis sur cric. Après avoir trouvé quelques autres messages ici, j'ai essayé un Clean All / Construire / Touch et quand je la touche, je suis l'erreur suivante dans XCode:
Uncaught Exception:
- [XCBuildLogWarningMessage setFileLocations]: sélecteur non reconnu envoyé à 0x2014dd0a0 instance
Quoi qu'il en soit réinstaller XCode sans gâcher tout le reste?
La solution
Il se trouve les bits sur le simulateur iPhone ont été synchronisé avec XCode. J'ai fait un « reset contenu et réglages » et tout fonctionne :) Qui sait?
Autres conseils
Si vous allez construire des phases dans vos objectifs, vous verrez Sources Compile. Assurez-vous que chacun des fichiers m dont vous avez besoin sont répertoriés. Sinon, ajoutez juste ici et l'avertissement devrait disparaître.
Faites un clic droit sur Storyboard -> Open As -> code source
Trouvez votre nom de classe inconnue dans le fichier source story-board. Peut-être parce que vous avez accidentellement attribué un nom de classe personnalisée pour une sous-classe de votre UIView.
Je l'ai fait des recherches et a trouvé que
for my case
Je dois juste faire un clic droit pour se plaindre fichier dans le navigateur de projet.
Choisissez View/Utilities/Show File Inspector.
Et pour une raison quelconque le Target Membership
n'a pas été sélectionné.
Voilà pourquoi l'éditeur de liens dit qu'il ne connaît pas l'existence de la classe.
Je viens de tic tac de choisir et tout fonctionne comme un charme.
J'ai eu ce même problème, mais il n'a pas été résolu par la solution ci-dessus. J'ai fini par le faire marcher en supprimant l'entrée « principale Nom de base de fichier story-board (iPad) » de mon fichier Info.plist.
ce qui fixe pour moi était t smply « supprimer » l'ap dans le simulateur, et encore reconstruisent.
Probablement cette classe était encore rerenced dans des contextes locaux dans le simulateur d'iPhone.
Dans mon cas, cette erreur est apparue après le nom de la classe refactoring. D'une certaine façon le nom de classe ne change pas dans le fichier .xib. J'ai ouvert ce fichier xib dans TextEdit et remplacer toutes les OldClassVC à NewClassVC. Ensuite, je sauvé xib fichier et projet avant Nettoyé nouvelle construction. Projet fonctionne bien.
Dans le cas où vous utilisez les gousses de cacao, faites glisser les fichiers .framework / .a à la section « lien de binaire avec des bibliothèques » de vos projets.