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?

213
demandé sur Cœur 2011-04-19 13:35:28

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.

482
répondu matt 2016-06-06 16:18:41

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.

57
répondu sram 2011-04-25 04:21:52

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).

17
répondu mert 2012-04-23 13:45:22

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 ).

17
répondu Samuel Spencer 2017-05-23 12:34:48

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! :)

8
répondu thehatisonfire 2011-12-19 02:07:43

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.

6
répondu orkoden 2013-10-16 16:14:37

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.

4
répondu McUsr 2014-03-13 01:00:37

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.

0
répondu Alyoshak 2014-02-18 15:22:52

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.

0
répondu Sheamus 2017-05-23 11:47:25

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é.

0
répondu Castro Zwelithini 2016-10-19 11:34:19

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.

enter image description here

0
répondu Wayne 2017-07-12 19:55:34