Wie kann ich sicher in meinem Verzeichnis ~ / Library / Developer / Xcode / DerivedData löschen?


90

Ich möchte alte (austauschbare?) Daten entfernen, und DerivedData- Inhalte scheinen ein wahrscheinlicher Kandidat zu sein. Da es sich um den Namen DerivedData handelt , gehe ich davon aus, dass es sich um Informationen handelt, die, falls sie fehlen, während einer Erstellungsphase generiert und, falls vorhanden, in derselben Phase verwendet werden. Dann scheint es logisch, dass ich alle alten Projektdaten ohne Angst löschen könnte, und wenn ich jemals dieses alte Projekt erstellen sollte, würde das erste Durchlaufen länger dauern als normal, da alle abgeleiteten Daten neu erstellt werden müssen.

Irre ich mich hier


8
Seien Sie sich sehr bewusst
Fattie

Vielleicht sollte ich zusätzlich zur Betonung jeden SO-Markup-Trick verwenden, um diesen Punkt in meiner Antwort hervorzuheben. :-D Block-zitiert-Stern-Schrägstrich-kommentiert-Code-fett-kursiv-Aufzählungsliste, etc.
Joshua Nozzi

17
@JoeBlow ist, wie Joshua erklärt, das Archivverzeichnis, das "dSYM-Daten für späteres Debuggen" enthält. Das Archivverzeichnis ist ein Geschwister des DerivedData- Verzeichnisses. Dies bedeutet, dass es sich auf derselben Ebene befindet ~/Library/Developer/Xcodewie DerivedData , sodass "dieser blutige Ordner" (DerivedData) NICHT die dSYM-Daten enthält und sein Inhalt sicher gelöscht werden kann.
mluisbrown

4
Immer wenn ich eine neue Version veröffentliche, kopiere ich das .xcarchive von Xcode in mein Git-Repo und halte es unter Versionskontrolle. Dies ist eine gute Möglichkeit, immer alte .dSYMs zu erhalten, ohne von den Xcode-Verzeichnissen eines bestimmten Computers abhängig zu sein.
Bill

Antworten:


123

Der Ordner " Abgeleitete Daten " enthält alle Informationen zur Zwischenerstellung, Debug- und Release-erstellte Ziele sowie den Index Ihres Projekts. Es ist hilfreich , die abgeleiteten Daten zu löschen, wenn Sie ungewöhnliche Indexprobleme haben (Code-Vervollständigung funktioniert nicht richtig, ständige Neuindizierung oder auch nur ein langsames Projekt). Durch das Löschen des gesamten Ordners werden diese Informationen für alle Projekte gelöscht , die Xcode 4 kennt.

Die Archiv - Ordner (ein Geschwister von abgeleiteten Daten) enthalten die archivierten Form Ihrer Ziele. Das heißt, ein Release-Build sowie dSYM-Daten für das spätere Debuggen. Dies sollten Sie nicht löschen, wenn Sie bereitgestellte Versionen Ihrer Anwendung debuggen möchten.

Sie können die abgeleiteten Daten für ein bestimmtes Projekt nuklearisieren, indem Sie das Organizer-Fenster öffnen und die Registerkarte Projekte auswählen. Wählen Sie das gewünschte Projekt aus und klicken Sie auf die Schaltfläche Löschen neben dem Pfad Abgeleitete Daten. Dies ist eher ein "chirurgischer Streik" für Problemprojekte.


1
Sicher. Gehen Sie zur Kommandozeile und geben Sie "man rm" ein - verrückt. :-)
Joshua Nozzi

9
Seufzer. Ich weiß rm. Ich wollte einen Weg finden, um den mit dem Projekt verbundenen Ordner aufzulösen, z ~/Library/Developer/Xcode/DerivedData/MyProject-hghjhjhkjh/. Der einfachste Weg, den ich gefunden habe, besteht darin, den DerivedData-Ordner über die XCode-Einstellungen relativ zum Projektordner festzulegen.
Asgoth

4
Nur eine kurze Anmerkung: In XCode 6.x , projectssind in einem eigenen Fenster (nicht der Veranstalter).
Olie

1
Ich mag Ihren Militärjargon XD
Josh

1
Viele neue Distributionstools (AppCenter, HockeyApp, Crashlytics usw.) fordern Sie auf, die dSYM-Dateien zu übergeben, damit Sie sie nicht selbst speichern müssen.
Honey

38

Der Inhalt von 'Abgeleitete Daten' wird während der Erstellungszeit generiert. Sie können es sicher löschen. Führen Sie die folgenden Schritte aus, um "Abgeleitete Daten" zu löschen:

  1. Wählen Sie Xcode -> Einstellungen.

Schritt 1

  1. Dies öffnet das Popup-Fenster. Wählen Sie die Registerkarte " Standorte ". Auf der Unterregisterkarte "Standorte" sehen Sie " Abgeleitete Daten ". Klicken Sie auf das Pfeilsymbol neben dem Pfad.

Schritt 2

  1. Dies öffnet einen Ordner mit 'Abgeleiteten Daten'. Klicken Sie mit der rechten Maustaste und löschen Sie den Ordner.

Schritt 3


Wenn sich meine App im Simulator befindet, aber nicht mit Code ausgeführt wird und wenn ich sie lösche und dann erneut mit Code ausführe, verursacht dies dann ein Problem?
Manthan

@Manthan: Nein, das wird kein Problem verursachen.
Jayprakash Dubey

30

Ja, diese Daten werden während der Erstellungszeit generiert und Sie können sie löschen, wenn Sie möchten. Dies ist kein Problem.

Es wird neu erstellt, wenn Sie erneut erstellen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.