Comment «Supprimer les données dérivées» dans Xcode 6 et versions ultérieures?

Dans Xcode5 , une option simple permet de supprimer les données dérivées:

Dans le menu de l’organiseur ( cmd + shift + 2 ):

entrer la description de l'image ici

Mais avec la nouvelle interface de Xcode6, il n’y a pas d’options similaires.

Existe-t-il des méthodes rapides pour supprimer cette interface Xcode6 ?

Ou maintenant je devrais supprimer ce dossier dans le système manuellement?

En appuyant sur Cmd + Maj + 2 Dans Xcode 6, vous verrez les périphériques, séparés de l’ Organiseur . Au lieu de cela, vous pouvez aller dans Fenêtre , puis dans Organiseur , puis rechercher votre projet dans Projets pour supprimer les données dérivées. Vous pouvez définir une touche abrégée dans Key Bindings pour un access rapide aux données dérivées.

entrer la description de l'image ici

Mise à jour: dans Xcode 6.3 (et 7), il existe une fenêtre Projets distincte. Utilisez le menu déroulant Fenêtre pour le trouver.

sortir de xcode

Dans l’application Terminal (je suis sûr que vous avez toujours ouvert; ^) tapez:

rm -rf ~ / Library / Developer / Xcode / DerivedData

Si xcode ne coopère pas lorsque vous lui avez demandé poliment de quitter le menu du fichier ou via le raccourci Command-Q, vous pourriez forcer brutalement l’expulsion de xcode comme ceci

killall Xcode; rm -rf ~ / Library / Developer / Xcode / DerivedData

Mise en garde: si vous ne quittez pas le xcode en premier, vous obtiendrez des fichiers en attente (je suppose que c’est HFS) et vous devrez utiliser le script Sheamus. N’hésitez pas à partager votre expérience avec les macos fs plus récents (expérimentaux) dans les commentaires ci-dessous au cas où vous seriez assez courageux pour y expulser les données dérivées. C’est théoriquement plus rapide, donc je ne vois pas pourquoi ne pas essayer la possibilité d’accélérer la compilation / liaison.

bash tip of the day: onglet effectue l’achèvement du nom de fichier lorsque vous tapez des chemins d’access

Conseil de l’année: envisagez de vous procurer le livre O’Reilly bash pour vous faire gagner du temps. Disclaimer: Je ne travaille pas pour O’Reilly, jamais. Juste un client satisfait.

Sur Xcode 7.2.1, vous pouvez maintenant procéder comme suit:

⌘⌥⇧K

Qui est Commande + Option + Maj + K

Vous pouvez également sélectionner Product> (Hold Key) et sélectionner Clean Build Folder …

Edit: J’aime aussi créer un alias pour l’une des commandes shell suggérées par @ anton-tropashko:

alias nuke-dd='rm -rv ~/Library/Developer/Xcode/DerivedData' 

Ajoutez ceci ^^ à votre ~/.bash_profile ou à un autre endroit qui provient de chaque shell que vous démarrez, puis tapez simplement:

 $ nuke-dd 

L’approche que j’utilise consiste à installer l’application Watchdog ( https://www.cerebralgardens.com/watchdog) .

Cette application efface automatiquement vos données dérivées en fonction de vos préférences (par exemple, lorsque les données dépassent une certaine taille, lorsque xcode se ferme, quotidiennement à une certaine heure, manuellement ou lorsqu’un nettoyage est détecté).

MODIFIER:

Pour ceux qui ne veulent pas dépenser d’argent, dans Xcode 7, sélectionnez le menu Windows et Projet. Vous pouvez ensuite sélectionner votre projet et supprimer ses données dérivées (voir capture d’écran ci-dessous). Notez que s’il y a un point bleu à côté de votre projet, cela indique qu’il est ouvert. Il est préférable de fermer votre projet avant de supprimer les données dérivées.

Supprimer des données dérivées

Je suggère d’installer le plug-in DerivedData Exterminator d’Alcatraz pour le nettoyer dans Xcode6 / 7.

S’il vous plaît voir l’ exterminator-derdata sur GitHub .

===== Mise à jour =====

Dans Xcode8:

Fenêtre -> Projets (parfois les projets disparaissent, réessayez, peut-être un bogue) Choisissez votre projet, puis cliquez sur le bouton Supprimer.

Ou en utilisant Alfred:

http://www.packal.org/workflow/xcode-cache-clean

tapez simplement xcl.

xcode-cache-clean

Xcode 7.3

 Window -> Projects 

Supprimez ensuite les données dérivées

Vous pouvez utiliser la ligne de commande. Mon script shell fonctionne pour Xcode 4, 5 et 6.

Parfois, le simple fait d’appeler rm -rf dans le répertoire de données dérivées laisse un ou deux fichiers en attente, mais mon script est en boucle jusqu’à ce que tous les fichiers soient supprimés.

rm -rf ~ / Library / Developer / Xcode / DerivedData Puis, dans le terminal, tapez purgeallbuilds et tous les sous-dossiers de DerivedData sont supprimés.

Parfois, j’ai cliqué sur le bouton Delete de DerivedData dans ( Fenêtre -> Projets ) mais cela ne fonctionne pas.

Puis je le résous en cliquant sur cette petite icône entrer la description de l'image ici à droite du chemin DerivedData . Il me DerivedData vers le dossier DerivedData .
Et dans DerivedData , je supprime DerivedData by Move To Trash et il est supprimé avec succès