Comment supprimer des données dérivées dans Xcode 8?

276

La page des projets semble avoir disparu de Xcode 8. J'ai utilisé cette page pour supprimer les données dérivées.

Une idée comment puis-je supprimer des données dérivées de Xcode 8?

Antoine
la source
Téléchargez WatchDog pour Mac si vous utilisez beaucoup Xcode - automatise le processus.
Pranav Kasetti Il y a

Réponses:

345

(Travailler dans Xcode 11)

Vous pouvez aller à File> Workspace Settingssi vous êtes dans un environnement d'espace de travail ou File> Project Settingspour un environnement de projet normal.

Cliquez ensuite sur la petite flèche grise sous la Derived datasection et sélectionnez votre dossier de projet pour le supprimer.

Bisca
la source
1
ou File> Playground Settingssi vous êtes dans une aire de jeux
Joakim Danielson
132

De nombreuses solutions différentes pour ce problème. La plupart d'entre eux fonctionnent également. Un autre raccourci semble également être ajouté:

Shift+ alt+ command ⌘+K

Vous demandera de:

Voulez-vous vraiment nettoyer le dossier de génération de «MyProject»?

Cela supprimera tous les produits et fichiers intermédiaires du dossier de génération.

Dans la plupart des cas, cela suffira pour résoudre vos problèmes.

METTRE À JOUR

À partir de Xcode 9, vous pourrez accéder au dossier Derived Data en accédant à

Fichier -> Paramètres du projet

ou si vous utilisez un espace de travail:

Fichier -> Paramètres de l'espace de travail

Et appuyez sur la flèche derrière le chemin: entrez la description de l'image ici

Antoine
la source
1
Après avoir
appuyé
115

Le moyen le plus simple et le plus rapide est le suivant (si vous n'avez pas modifié le dossier par défaut pour DerivedData).

Ouvrez le terminal et passez ce qui suit:

rm -rf ~/Library/Developer/Xcode/DerivedData
zirinisp
la source
1
En tant qu'option supplémentaire avantageuse, vous pouvez également supprimer toutes les versions d'application sur tous vos simulateurs en exécutant ce qui suit (une fois que vous avez cessé d'exécuter des simulateurs) xcrun simctl erase all. Évidemment, cela n'efface pas la même chose que les données dérivées, mais si vous essayez de libérer de l'espace, c'est une autre excellente option, car les deux prennent beaucoup pour les anciennes versions d'applications.
Albert Renshaw
Vous pouvez également en faire un raccourci terminal. Voir ici
Honey
Mais cela supprime également le dossier lui-même! N'est-ce pas un problème?
Daniel Springer
@DanielSpringer ce n'est pas un problème que le dossier lui-même soit supprimé, Xcode le créera à nouveau de lui-même.
edvard_munch
@edvard_munch ok merci!
Daniel Springer
88

Dans Xcode 8, toutes les données dérivées sont automatiquement nettoyées. Si vous souhaitez le faire à la main, accédez à l' Locationsonglet du Preferences, recherchez le dossier de données dérivées du projet et supprimez les fichiers liés au projet.

Dans macOS 10.12 et versions ultérieures, Xcode nettoie les données dérivées périmées, les en-têtes précompilés et les caches de module. (23282174)

Notes de mise à jour de Xcode 8.0

Crédits à @charmingToad

Mais d'après ce que j'ai observé, le même comportement est typique lors de l'utilisation de Xcode 8 sur OS X 10.11.5 / 6

Stefan
la source
6
Avez-vous une référence à l'endroit où cela est spécifié?
ABeanSits
3
existe-t-il une source officielle qui confirme qu'il est automatiquement nettoyé?
user1007522
25
Nettoyé automatiquement quand?
dmzza
5
Les notes de version de Xcode 8 indiquent: "Dans macOS 10.12 et versions ultérieures, Xcode nettoie les données dérivées périmées, les en-têtes précompilés et les caches de module." Je ne sais pas à quelle fréquence les données dérivées sont considérés comme « obsolètes » , bien que ... developer.apple.com/library/content/releasenotes/DeveloperTools/...
charmingToad
2
@dmzza pas sûr d'être honnête, Apple n'explique pas quand il le fait.
Stefan
59

Allez à Xcode ->Project Settings

entrez la description de l'image ici

Vous pouvez trouver le chemin à parcourir pour les données dérivées

entrez la description de l'image ici

Azik Abdullah
la source
4
Avec un peu plus de texte / contexte dans cette réponse ... ce devrait être celui sélectionné. L'ajout de captures d'écran est toujours un énorme avantage.
Mariano Zorrilla
2
Notez qu'il indiquera "Paramètres de l'espace de travail" si vous utilisez un fichier .xcworkspace au lieu d'un fichier .xcproject.
M'a
1
Après avoir cliqué sur la flèche, quittez le XCode, puis supprimez le dossier du Finder
greenridinghood
38

Suppression manuelle des données dérivées

Si vous souhaitez supprimer manuellement les données dérivées, exécutez simplement:

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

Si vous souhaitez libérer plus d'espace disque, vous pouvez également effacer quelques autres répertoires.

Suppression automatique des fichiers générés par Xcode

J'ai créé un script Bash pour supprimer toutes sortes de fichiers générés par Xcode. La suppression du contenu DerivedData peut être effectuée en exécutant:

./xcode-clean.sh -d

Plus d'informations sur https://github.com/niklasberglund/xcode-clean.sh

Niklas Berglund
la source
37

Méthode 1:

  • Fermer Xcode
  • Ouvrez le terminal et entrez cette commande

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

Méthode 2:

  • Cliquez sur le menu Xcode
  • Aller à la préférence
  • Sélectionnez les emplacements (comme indiqué dans l'image)
  • Cliquez sur la flèche sous les données dérivées (comme indiqué dans l'image).

Il vous amènera à l'emplacement des données dérivées et vous pouvez simplement les supprimer manuellement.

entrez la description de l'image ici

Ghulam Rasool
la source
1
Notez que si vous obtenez une erreur indiquant qu'un sous-dossier du répertoire de données dérivé n'a pas pu être supprimé car il n'est pas vide (même lorsque vous exécutez avec -rf), vous devez quitter XCode et votre simulateur, puis réessayer d'effacer les données dérivées
Eric Wiener
9

Sélectionnez Xcode et suivez les 4 étapes mises en évidence sur la photo et supprimez les données dérivées, puis redémarrez votre projet.entrez la description de l'image ici

Hemant Solanki
la source
8

Une autre façon d'accéder à votre dossier de données dérivées est de faire un clic droit sur votre application sous le dossier "Produits" dans xcode et de cliquer sur "Afficher dans le Finder".

Ansyar Hafid
la source
Cela ne fonctionnera pas si vous avez défini votre produit sur un chemin différent - par exemple, j'ai défini le mien pour qu'il soit construit directement sur ~ / Applications, mais conservez les données dérivées à l'emplacement par défaut.
SilverWolf
3

Étapes pour supprimer DerivedData:

  1. Ouvrir le Finder
  2. Dans le menu, cliquez sur Go>Go to Folder
  3. Entrez ~ / Library / Developer / Xcode / DerivedData dans le champ de texte
  4. Cliquez sur le Gobouton
  5. Vous verrez les dossiers de votre Xcode projects
  6. Delete les dossiers de projets dont vous n'avez pas besoin.
Siddhesh Bhide
la source
0

Il peut différer entre les versions de xcodes. La meilleure approche consiste à accéder à la page de préférence xcode et à partir de l'onglet "Emplacements", ouvrir directement le répertoire "Derived Data".

Alireza
la source
-9

Pour Xcode version 8.2 (8C38), vous pouvez supprimer complètement les projets (nom du projet dans Xcode, programmes, données, etc.) un par un en procédant comme suit: [Remarque: les instructions ne concernent pas uniquement la suppression des noms de projet du Fenêtre de bienvenue]

Lancez Xocde et attendez que la fenêtre de bienvenue s'affiche. Les projets seront affichés sur le côté droit (voir ci-dessous) Fenêtre d'accueil Xcode

Cliquez avec le bouton droit sur le projet que vous souhaitez supprimer complètement et une fenêtre contextuelle [Afficher dans le dossier] apparaît; sélectionnez-le pour savoir où se trouve le projet dans le [Finder] (voir ci-dessous) Trouver le dossier du projet

Cliquez avec le bouton droit sur le dossier du projet dans le Finder pour trouver son chemin à travers [Get Info]; utilisez le chemin dans la fenêtre Info pour aller au dossier parent, et allez-y [Localiser le chemin du dossier du projet] (voir ci-dessous)

Cliquez avec le bouton droit sur le dossier de projet (par exemple DemoProject01) et le fichier Porject (DemoProject01.xcodeproj) et sélectionnez [Déplacer vers la corbeille]; vous verrez que (a) le dossier dans le Finder est supprimé ET (b) le projet dans la liste des projets de la fenêtre de bienvenue de Xcode est supprimé.

JubiAudio
la source
3
Cela n'a rien à voir avec la suppression du Derived Datacontenu du dossier.
Dit Sikira
La première fois que je vois autant de votes négatifs .....: (C'est comme utiliser: $ sudo rm -rf / pour supprimer tous les fichiers de votre Mac .... cela supprimera également vos données dérivées Xcode .... hahahahahahahahahaha)
eharo2