web-dev-qa-db-fra.com

Impossible de trouver un storyboard nommé 'Principal' dans le paquet

Je reçois une erreur étrange: 'Could not find a storyboard named 'Main' in bundle NSBundle' lorsque j'essaie d'exécuter mon application sur un véritable appareil iOS. 

J'ai le fichier dans mon répertoire et ça fonctionne très bien dans le simulateur. Cependant, dans la section Copy Bundle Resources, le fichier Main.storyboard est rouge. 

J'ai essayé de le supprimer et de l'ajouter à nouveau, de redémarrer Xcode, de nettoyer la compilation, etc. sans succès. Voici l'avertissement que je reçois dans Xcode:

/Users/ajay/Documents/avx/avx/Base.lproj/Main.storyboard: Internationalization of /Users/ajay/Documents/avx/avx/Base.lproj/Main.storyboard is not available when compiling for targets before iOS 6.0
50
Carpetfizz

ouvrez l'info.plist de votre projet et supprimez la ligne sélectionnée dans la capture d'écranenter image description here

Si vous obtenez un écran noir, assurez-vous que votre nouveau scénarimage initial est sélectionné comme interface principale  enter image description here

68
Kalpit Gajera

Vous pouvez vérifier l’adhésion cible du storyboard. Peut-être il y a où le problème est:

Cela devrait ressembler à ceci:

 Target Membership

48
Geekoder

J'ai supprimé l'application de mon téléphone, puis Produit -> Nettoyer et je l'ai chargée à nouveau. C'est tout ce qu'il a fallu pour moi.

14
user1021430

J'ai eu cette erreur, cependant, c'était mon intention de supprimer complètement les storyboards.

Le retrait de la clé "Nom de base du fichier de Storyboard principal" de mon plist a corrigé l’erreur.

7
kraftydevil

Le simulateur n'est pas sensible à la casse, mais le périphérique l'est. Si votre storyboard s'appelle MainStoryboard, et non MainStoryBoard, cela causera votre problème… .. et aussi

main.storyboard -> seulement main est le nom du storyboard 

6
user2580666

Suis les étapes:

1) Cliquez d'abord sur votre story-board

2) Puis cliquez sur Inspecteur de fichier 

3) Puis sélectionnez "Adhésion cible"

 Screen Shot

4
Vicky

Comme Kalpit Gajera l'a dit, "ouvrez l'info.plist de votre projet et supprimez la ligne sélectionnée dans la capture d'écran". Vous supprimez simplement le 'Nom de base du fichier de storyboard principal' de Info.plist. Une fois que vous l'avez supprimé, nettoyé et exécuté, le programme n'échouera plus, mais affichera un écran noir. Rouvrez Info.plist et rajoutez manuellement la ligne. Problème résolu.

1
Mavin Martin

La suppression de rangées dans la pliste a également provoqué un écran noir dans mon application. Et je l'ai corrigé en activant adhésion cible du storyboard

1
seashore liu

Deux solutions différentes qui ont fonctionné pour moi après la mise à niveau vers Xcode 10.1:

  • Dans Fichier-> Paramètres de l'espace de travail (ou du projet). Passez à Legacy Build System.

  • Dans vos cibles Build Phases, supprimez le dossier Base.lproj de Copy Bundle Resources (s'il est répertorié) et assurez-vous que chacun de vos story-boards est répertorié et copié séparément. 

Après avoir appliqué l’un des correctifs ci-dessus, assurez-vous que Nettoyer le dossier de construction dans le menu Produit une fois, sinon les correctifs risquent de ne pas fonctionner correctement.

1
LentoMan

Mon problème a été résolu en supprimant le suffixe .xml du Main.storyboard.xml file.

Apparemment, le suffixe a changé depuis la version à partir de laquelle j'ai importé le projet.

Par conséquent, renommer le fichier (en supprimant le suffixe .xml) et le redémarrer, puis Project-> clean.... a résolu le problème.

0
Craig D

Ma solution est:

Lorsque j'ai ajouté une connexion séquentielle entre deux vues et que, dans la configuration du projet, la cible de déploiement est inférieure à 8,0, j'obtiens cette erreur.

ok, compréhension facile lorsque vous développez pour IOS 6.0 (par exemple), vous ne pouvez pas utiliser Seque, car Seque nécessite IOS 8.0 ou version ultérieure ...... ;-)

alors, j’ai fixé la cible de déploiement à 8.0 et l’erreur est partie !!!! d’autre, j’annule toutes les connexions Segue et la gère avec IBAction, old school ;-)

0
Sven Vietense

Ok cela a été un processus. Essayer tellement de choses différentes. Exécution de xcode 6.4 sur OS 10.11. Avoir le ne peut pas trouver le problème «principal». Ce que j’ai finalement fait, c’est de déplacer le main.storyboard sur mon bureau à partir de Finder.Did un xcode propre, ainsi que de le construire et le quitter. xcode redémarré maintenant il a un main.storyboard rouge. Je l'exécute fait pratiquement la même chose. puis je fais un clic droit sur le dossier du projet et choisissez l'option ajouter des fichiers à ... Recherchez où il se trouve et ouvrez-le. alors, quand il est à droite, l'inspecteur des identités devrait être là. cliquez sur le petit dossier sous emplacement. Accédez à nouveau à ce dossier et sélectionnez Choisir. Puis j'ai couru et cela a fonctionné. Amen !!!

0
iSpeedyG

Cela vient juste pour moi lorsque j'essaie de lancer mon application dans le simulateur. Le fichier était présent et un membre de la cible que j'essayais de courir.

Je suis parti après avoir exécuté un Product->Clean.

0
Ben Thielker

Je déplaçais le fichier Main.Storyboard dans le sous-dossier "bleu" qui posait problème, je devais ajouter des sous-dossiers en suivant ces instructions Xcode 6.3 Nouveau problème de fichier

puis déplacer le fichier Main.Storyboard dans le sous-dossier jaune a fonctionné pour moi

0
Aqib Mumtaz

choisissez main.storyboard, changez la vue comme iOS 6.1 et les versions antérieures, puis xcode vous dira ce que vous devez faire. 

enter image description here

0
Chris
  1. Ouvrez votre fichier de storyboard
  2. Puis cliquez sur l'inspecteur de fichier
  3. Puis sélectionnez "Adhésion cible" et vérifiez votre projet.
  4. Faites de même pour le fichier ViewController !!! partie importante si vous utilisez ViewController.Swift ou ViewController.m avec votre storyboard !!!
0
user1195202