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


Je localise une application en suivant les étapes indiquées ici. J'ai réussi cela avec environ 45 .xib, alors que seulement 4 d'entre eux me donnent cette erreur:

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

quand je les déplace de leur position d'origine. J'essaie de les déplacer de leur position Project / Classes / Example.xib vers leur position localisée sur Project / en.lproj / Example.xib.

Pourquoi ces fichiers .xib ne peuvent-ils pas être déplacés?


21
2018-01-23 08:16


origine


Réponses:


Pour moi ça marche comme ça:

  • sélectionnez la cible du projet
  • retirer le fichier de la build phases onglet dans copy bundle resources
  • re l'ajouter à la build phases languette

40
2017-11-01 11:52



J'ai rencontré la même erreur lors de l'exécution d'ibtools sur des fichiers .xib dans deux répertoires différents. Cela fonctionnait bien avec les fichiers du premier répertoire, mais a échoué sur les fichiers du deuxième répertoire. Si j'ai échangé l'ordre de traitement des répertoires, il échouait toujours pour le deuxième répertoire.

Enfin, j'ai découvert que ibtool démarre un processus démon ibtoold qui ne se termine pas lorsque ibtool se termine, et si je tue ce processus, je n'ai plus l'erreur. Apparemment, le démon a un certain état qui empêche ibtool de travailler dans un autre répertoire.

j'ai utilisé pkill ibtoold tuer le démon.


12
2017-12-10 09:35



J'ai un problème avec Xcode 5 qui pourrait être le même problème. ibtools fonctionne aléatoirement lors de la génération ou de l'écriture de chaînes localisées vers / depuis des fichiers xib. J'ai dû utiliser sudo sur certains fichiers xib pour le faire fonctionner. Voici un exemple:

$ibtool --generate-strings-file en.lproj/MyVC.strings en.lproj/MyVC.xib
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"     
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.ibtool.errors</key>
<array>
    <dict>
        <key>description</key>
        <string>Interface Builder could not open the document "MyVC.xib" because it does not exist.</string>
    </dict>
</array>
</dict>
</plist>

Utiliser sudo fonctionne bien qu'il se plaint de «la volatilité des domaines utilisateur»

$sudo ibtool --generate-strings-file en.lproj/MyVC.strings en.lproj/MyVC.xib
2013-10-01 10:04:35.943 Interface Builder Cocoa Touch Tool[1717:303] CFPreferences: user       
home directory at file:///var/root/Library/Application%20Support/iPhone%20Simulator/User/ is unavailable. User domains will be volatile.
$

5
2017-10-01 14:19



Pour moi, cela s'est passé après la fusion de Git. Le fichier de projet doit avoir tellement changé que maintenant, il donne toutes ces erreurs. Ces fichiers de projet sensibles ...

Donc, de toute façon, j'ai fini par supprimer les fichiers du projet (les envoyer à la corbeille), puis les rajouter au projet avec un git checkout other_branch path/to/file

Après cela, la construction du projet n'a plus provoqué cette erreur.

  • Cela semble fonctionner correctement si vous supprimez uniquement la référence, puis rajoutez le fichier au projet (pas besoin de l'envoyer à la corbeille)
  • Important Vous devriez supprimer tous les fichiers rouges de votre Build Phases - Compile Sources des paramètres de votre cible. Ce sont des fichiers qui, selon XCode, sont toujours présents et pensent qu’ils devraient quand même essayer de compiler, mais quand ils ne les trouvent pas, cela renvoie cette erreur.

4
2017-10-04 09:34