Comment vider les Caches et nettoyer toutes les cibles Xcode 4 et plus
Jonathan suggère ici: Xcode inclut .xib fichiers qui ont été supprimés! que le nettoyage de toutes les cibles et vider les caches va résoudre le problème avec Xcode y compris supprimé .XIB File mais je ne peux pas trouver un moyen de vider le cache dans Xcode 4.
Comment faire avec Xcode 4?
11 réponses
Commande-Option-Shift-K pour nettoyer le dossier de compilation. Encore mieux, quittez Xcode et nettoyez ~/Library/Developer/Xcode/DerivedData manuellement. Supprimer tout son contenu parce qu'il y a un bug où Xcode exécutera une ancienne version de votre projet qui est là quelque part. (Xcode 4.2 vous montrera le dossier de données dérivé: choisissez Fenêtre > organisateur et passez à L'onglet Projets. Cliquez sur la flèche droite à droite des données dérivées le nom du dossier.)
Dans le simulateur, choisissez Simulateur iOS > Réinitialiser le Contenu et les Paramètres.
enfin, pour plus d'exhaustivité, vous pouvez supprimer le contenu de /var/folders ; il y a aussi un peu de mise en cache.
avertissement: la suppression de /var/folders peut causer des problèmes, et vous devrez peut-être réparer ou réinstaller votre système d'exploitation après cela.
EDIT: je viens de appris que si vous avez peur de s'attaquer à /var/folders/ vous pouvez utiliser la commande suivante dans le Terminal pour supprimer de manière plus ciblée:
rm -rf "$(getconf DARWIN_USER_CACHE_DIR)/org.llvm.clang/ModuleCache"
Modifier: pour certains problèmes liés à Swift, j'ai trouvé utile de supprimer ~/Library/Caches/com.Apple.dt.Xcode . Vous perdez beaucoup en faisant cela, comme vos copies de rechange des jeux de documents téléchargés, mais cela peut en valoir la peine.
Commande-Option-Shift-K devrait le faire. Alternativement, allez dans le menu produit, appuyez sur la touche option, maintenant l'option "Nettoyer" changera en " Nettoyer le dossier de construction ..."sélectionnez cette option.
j'ai trouvé une autre façon en plus de la commande+option+shift+K. dans Xcode 4.2 il y a un organisateur qui peut être ouvert à partir de l'icône en haut à droite. Vous pouvez nettoyer toutes les archives et les options de projet sauvegardées à partir de là. Cela a aidé ma situation (je voyais de vieux fichiers supprimés dans le mainBundle).
en plus de faire ce qui suit, vous pouvez éprouver ce problème si les fichiers de Storyboard de votre application sont localisés. Tout d'abord, faire chacun de ces:
- Nouvelle Génération
- Simulateur De Réarmement
- Redémarrer Xcode
- Supprimer votre
DerivedData
dans le dossier ~/Library/Développeur/Xcode/DerivedData - supprimer le contenu (pas le dossier complet) de / var / dossiers
- Redémarrer L'Ordinateur
ce qui a finalement fonctionné pour moi était de recréer les fichiers de localisation du storyboard et de supprimer la localisation en anglais (qui n'était pas nécessaire parce que la Locale de Base est en anglais). Pour recharger vos cordes de Storyboard, voir cette réponse sur StackOverflow .
j'avais remarqué que les parties non textuelles de mon Storyboard ont été mis à jour, mais pas le texte localisé. Si vous avez une localisation dans votre application, je vous recommande de vérifier que vos localisations sont mises à jour (même si ce sont des fichiers .strings
).
j'ai retiré des cheveux de ma tête parce que je pensais que j'avais le même problème. Lors de la construction de l'application, je n'ai pas obtenu le même résultat sur mon iPhone que sur le simulateur.
le problème était que j'avais d'une façon ou d'une autre fait une version localisée de la MainStoryboard.storyboard de fichier. Donc quand j'ai lancé l'application sur mon téléphone, elle montrait la version danoise... et le simulateur montrait la version anglaise.
Ouais, je suis nouveau! :)
pour supprimer toutes les données dérivées et le cache du module dans /var/folders
utilisez ce petit script ruby .
derivedDataFolder = Dir.glob(Dir.home + "/Library/Developer/Xcode/DerivedData/*")
moduleCache = Dir.glob("/var/folders/**/com.apple.DeveloperTools*")
FileUtils.rm_rf derivedDataFolder + moduleCache
ça vient de résoudre une erreur fatal error: malformed or corrupted AST file: 'Unable to load module "/var/folders/
pour moi.
j'ai eu quelques problèmes avec Xcode 5.1 s'écrasant sur moi, quand j'ai ouvert la fenêtre doc.
Je ne suis pas sûr de la cause, parce que je mettais aussi à jour docsets, pendant que j'ouvrais la fenêtre.
Eh bien, dans Xcode 5, le répertoire des modules se trouve maintenant dans le dossier des données dérivées, que je n'ai pas effacé pour des raisons évidentes. J'ai supprimé le contenu de ~/Library/Développeur/Xcode/DerivedData/ModuleCache et le ~/Bibliothèque/Préférences/com.Apple.Xcode.plist et tout semble alors fonctionner, après que J'ai redémarré Xcode.
vous devez faire attention avec le fichier xib. J'ai essayé tout ce qui précède et rien n'a fonctionné pour moi. J'utilisais des UIButtons personnalisés définis dans le xib, et j'ai réalisé que cela pouvait être lié au fait que j'y avais assigné des attributs qui ne changeaient pas programmatiquement. Si vous avez défini des images ou du texte, supprimez-les. Quand je l'ai fait, mes changements programmatiques ont commencé à prendre effet.
Voici mon solution de script shell , qui supprime les données dérivées et nettoie les actifs en cache d'un projet, pour Xcode 4, 5 et 6.
parfois, simplement appeler rm-rf sur le répertoire de données dérivé laisse un ou deux fichiers persistants, mais mon script Boucle jusqu'à ce que tous les fichiers soient supprimés.
j'ai essayé presque tout mais n'ai pas pu aider,ce qui m'a aidé était désactiver SIP(Système De Protection De L'intégration) n Il fonctionne,Je ne sais pas ce qui se passe quand et comment, mais le fichier système deviennent confus quelque part et cause cela... bien qu'il puisse y avoir des risques d'invalidité de ce
, voici comment
1.Activez votre Mac et maintenez les touches [command]+[R] pour accéder à la Partition de récupération.
2.À partir de la Partition de récupération, cliquez sur Utilities dans la barre de menu, puis sélectionnez Terminal.
3.Entrez la commande suivante dans le Terminal et appuyez sur Entrée pour l'exécuter: csrutil disable
4.Une fois la commande exécutée, quittez le Terminal et redémarrez le Mac. Lorsque vous vous reconnecterez à OS X, SIP sera désactivé.
lors de l'utilisation d'un" modèle de données", il y a des options dans l'inspecteur pour cours généraux, pour moi c'était le cas car il y avait déjà une classe avec le nom existant.
Codegen: résolu pour moi.