web-dev-qa-db-fra.com

Interface Builder n'a pas pu ouvrir le document ".storyboard" car il n'existe pas

Ce problème me rend vraiment fou. Xcode recherche un storyboard dans mon projet dans un endroit différent de celui-ci. J'ai essayé de supprimer le fichier, de l'ajouter à nouveau, de nettoyer le projet, etc. mais je n'ai pas eu de chance.

C'est l'erreur.

cd /Users/fmartin91/Projects/loovin/loovin-ios
setenv IBSC_MINIMUM_COMPATIBILITY_VERSION 7.0
setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
setenv XCODE_DEVELOPER_USR_PATH /Applications/Xcode.app/Contents/Developer/usr/bin/.. 
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/ibtool --errors --warnings --notices --minimum-deployment-target 7.0 --output-format human-readable-text --compile /Users/fmartin91/Projects/loovin/loovin-ios/Build/Products/Debug-iphonesimulator/loovin.app/Base.lproj/LOOVProductIndex.storyboardc /Users/fmartin91/Projects/Base.lproj/LOOVProductIndex.storyboard


/* com.Apple.ibtool.errors */
/Users/fmartin91/Projects/Base.lproj/LOOVProductIndex.storyboard:
error: Interface Builder could not open the document
"LOOVProductIndex.storyboard" because it does not exist.
17
bilby91

Je pourrais corriger ce bug en tuant ibtoold:

$ Sudo killall -9 ibtoold

Pourquoi ibtool a-t-il besoin d'un démon?

19
Nikolai Ruhe

Votre scénario n’est pas dans NSBundle mainbundle. Ce problème est probablement dû à un problème de "Copier les ressources du paquet" dans "Les phases de construction".

Pour corriger, vérifiez si votre fichier de story-board est dans "Copier les ressources de l'ensemble" pour toutes les cibles. Dans le navigateur de projet, sélectionnez le fichier de projet, sélectionnez l’onglet Étapes de construction et vérifiez-le.

13
tdelepine

J'ai eu un problème très similaire et il a fallu quelques heures pour le résoudre. Clairement, xcode s'est verrouillé dans un état étrange que l'explorateur de projet puisse voir le fichier xib alors que la compilation ne le pouvait pas. Finalement, cela a été résolu lorsque j'ai changé l'emplacement dans l'inspecteur de fichier de Relatif à groupe à Relatif au projet. Je l’ai obtenue en comparant le fichier project.pbxproj dans un éditeur de texte standard pour rechercher des indices.

4
nishant

Cela m'est arrivé après une fusion de git. J'ai changé certains fichiers de storyboard localisés d'un projet à un autre et Xcode semble continuer à rechercher le fichier dans l'ancien projet. 

Ma solution était:

  1. Éditez le Ancien NomProjet.xcodeproj/project.pbxproj
  2. Rechercher le nom du storyboard
  3. Supprimez les références au nom du Storyboard qui apparaissent, suivies d'éléments de localisation (des éléments tels que "Base.lproj", "es.lproj", etc.).
  4. Supprimez également les entrées de localisation suivantes (car elles font référence au fichier Storyboard)
  5. Nettoyer et construire
  6. Répétez l'opération si d'autres fichiers continuent à générer des erreurs de compilation
3
quarac

J'ai rencontré le même problème et voici comment je l'ai résolu:

  1. Enregistrer une copie du fichier affecté en dehors du projet
  2. Supprimer le fichier du projet en sélectionnant Déplacer vers la corbeille pour supprimer complètement le fichier et la référence du projet
  3. Éditez NomProjet.xcodeproj/project.pbxproj pour supprimer toutes les lignes référençant le fichier concerné.
  4. Rajoutez le fichier en veillant à cocher Copier les éléments dans le dossier du groupe de destination (si nécessaire)
  5. Nettoyer et construire
3
Scott Gardner

Pour moi, j'utilise xcode 10, Cliquez sur le nom de votre projet (icône bleue à gauche)> Build Phases> Sous Copy Bundle Resources

Recherchez le fichier, supprimez les doublons s’il y est. Nettoyer le projet et recommencer

2
ninahadi

J'ai rencontré le même problème lors du déplacement du projet sur un autre ordinateur. J'ai suivi les étapes ci-dessous pour résoudre ce problème:

  • Ouvrir le fichier Main.storyboard précédent en tant que code source, tout copier
  • Créer un nouveau fichier Main.storyboard, Ouvrir en tant que code source, coller
  • Supprimer le précédent tableau principal
  • Nettoyer et construire le projet.
1
Victor Pereira

Je viens de rencontrer ce problème sous Xcode 9.2. J'avais copié mes fichiers d'un ordinateur à l'école sur Google Drive, puis je les avais téléchargés à la maison.

Quand j’ai ouvert les fichiers à la maison, on me répétait main.storyboard et le storyboard de lancement n’existait pas. Les deux fichiers de scénarimage s'affichaient en xml, ils existaient donc clairement, mais même en cliquant avec le bouton droit de la souris sur "ouvrir en tant que", rien ne se produisait. Après beaucoup de dépannage, j'ai trouvé une solution qui fonctionnait pour moi.

SOLUTION:

Ouvrez votre dossier de projet, puis le dossier suivant portant le même nom que votre projet. Ouvrez Base.lproj et vous verrez vos deux storyboards au format xml. Copiez les deux fichiers, collez-les dans le même dossier, supprimez le fichier .xml et confirmez la modification en .storyboard. Faites cela pour les deux fichiers et vous êtes prêt! 

1
Mike H

Pour moi, réinitialiser le dossier conteneur du fichier Main.storyboard a fonctionné

 enter image description here

1
Noam Segev

Dans mon cas, j'ai constaté que le storyboard était placé dans un groupe qui faisait référence à un dossier qui n'existait pas dans le panneau "Identité et type".

Supprimer ce groupe et le story-board, puis l'ajouter en faisant référence à un dossier existant résolvent le problème pour moi.

1
Adam Ritenauer

Lorsque vous téléchargez votre fichier sur Google Drive sans Zip, il ajoute automatiquement l'extension .storyboard à .xml. Par conséquent, lorsque vous le téléchargez, il est évident que le fichier n'existe pas.

Pour résoudre ce problème, allez à la:

[dossier du projet]> [dossier du projet]> [Base.lproj]

Il y aurait un type de fichier d'extension .storyboard.xml que vous auriez à renommer avec l'extension .storyboard. Et par conséquent votre travail est terminé. 

Guide visuel de résolution des erreurs de story-board:

 Story board error solving visual guide.

0
smit mehta

Aller aux phases de construction> Copier les ressources du bundle> Vérifier le storyboard pour lequel vous obtenez une erreur> Il devrait s'afficher comme flou> Si OUI, supprimez sa référence et ajoutez-la à nouveau> Compilez à nouveau. 

0
Venu Gopal Tewari

Je viens d’expérimenter cela et je l’ai corrigé en redémarrant l’ordinateur. J'ai découvert plus à ce sujet, cependant. Dans mon cas, mes scripts ibtool ne fonctionnaient pas, donnant des erreurs de fichier introuvable, tout comme les vôtres. Cependant, j'ai remarqué un changement de comportement lorsque je les ai exécutés sous Sudo:

2013-09-20 20: 49: 40.339 Cocoa Touch Tool [58454: 303] D'Interface Builder: répertoire de base de l'utilisateur dans Fichier: /// var/root/Library/Application% 20Support /iPhone%20Simulator/User/ n'est pas disponible. Les domaines d'utilisateur seront volatiles.

Les commandes suivantes échoueraient ou reviendraient sans rien faire. Alors! ibtool/Interface Builder/quel que soit, utilise en quelque sorte un autre service de lancement pour s'exécuter lui-même, avec un autre nom d'utilisateur ou privilèges.

Se pourrait-il que j’ai installé des mises à jour d’outil pour Xcode 5.0 et que tout ce processus serveur ait été bousillé? Oui ça pourrait :)

0
jd.

J'ai résolu ceci en faisant ceci:

  1. Ouvrez votre dossier de projet Xcode dans le Finder, puis recherchez le fichier que vous ne pouvez pas ouvrir.

  2. Faites glisser ce fichier dans votre chemin de fichier dans Xcode Project (Inside Xcode App) comme ceci.  enter image description here

  3. Thick "Copier l'élément si nécessaire" et choisissez "Créer des références de dossier" puis cliquez sur Terminer.  enter image description here

  4. Redémarrer Xcode

0
Firda Sahidi

J'ai connu la même situation avec Xcode 7 bêta 5. Le redémarrage de mon Mac a fait l'affaire.

0
aimak

Je pourrais résoudre mon problème, je ne sais vraiment pas comment je l’ai fait, mais j’ai essayé de nettoyer et de construire le projet un milliard de fois, j’espère que cela pourra aider tout le monde. 

0
bilby91