web-dev-qa-db-fra.com

Xcode 4 "Clean" vs. "Clean Build Folder"

Vous arrivez à un moment donné dans le développement de chaque application que ce que vous voyez dans le simulateur ne correspond pas à ce que vous pensez devoir arriver. Ce sont principalement des erreurs humaines - ou du moins, elles le sont dans la plupart des mes cas ;-) - mais parfois, Xcode vient de «perdre la trace», semble-t-il. J'ai appris que les options de menu Clean (Maj + Cmd + K) et Clean Build Folder… (Option + Maj + Commande + K) peuvent indiquer la différence entre votre erreur et celle de Xcode. 

Ma question est cependant:

Que fait ou ne fait pas la commande Clean, ce qui laisse une raison pour que Clean Build Folder… existe? Quand devrais-je choisir l'un sur l'autre, pourquoi ne pas simplement nettoyer tout le dossier?

75
epologee

Clean… nettoie les dossiers de la cible actuellement sélectionnée.
Clean Build Folder… nettoie les dossiers de toutes les cibles.

84
Oliver

Si vous sélectionnez Clean dans le menu Produit, XCode supprimera les fichiers de tous les dossiers du dossier de génération. Si vous sélectionnez Clean Build Folder, le dossier de construction entier sera supprimé.

Après la commande Clean:

enter image description here Après la commande Clean Build Folder:

enter image description here

Je pense que vous devriez sélectionner Clean Build Folder lorsque vous souhaitez créer un fichier binaire que vous souhaitez publier sur l'AppStore, lorsque vous vous êtes planté avec votre projet ou lorsque votre application ne fonctionne pas pour une raison "inconnue", sinon utilisez Clean.

J'espère avoir répondu à votre question: D

89
Aluminum

Si vous sélectionnez "Nettoyer", Xcode supprimera les fichiers de chaque dossier (par exemple, Produits, Intermediates) du dossier de construction de la cible actuelle. Les fichiers pour les autres cibles restent.

Si vous sélectionnez "Clean Build Folder", Xcode supprimera l'intégralité du dossier Build , de sorte qu'il ne reste plus rien.

Dans la plupart des cas, "Nettoyer" fonctionnera pour des raisons "inconnues", mais vous devrez toujours "Nettoyer le dossier de construction" car Xcode ne supprimera pas les fichiers du dossier include du dossier Products

4
Mindy

À partir de Xcode 10, "Propre" a effectivement disparu. Apple dit ici :

"Le nouveau système de construction utilise le comportement" nettoyer le dossier de construction ". Le comportement" propre "hérité n'est pas pris en charge".

1
user3806037

Certains fichiers de ~/Library/Developer/Xcode/DerivedData/xxx-ABCD, où xxx correspond au nom de votre projet ou de votre espace de travail, ont été supprimés après votre Clean ou Clean Build Folder.... De toute évidence, Clean Build Folder... supprimera plus de fichiers que ne le fera Clean. Cependant, je pense que la suppression du dossier que j'ai mentionné auparavant est nécessaire dans certains cas, telle que votre Xcode ne peut pas fonctionner correctement.

Au fait, quelque chose a changé pour Xcode 8, le dossier Build est conservé identique après le Clean Build Folder...

0
DawnSong