MacEntwickler2 Min. Lesezeit

Xcode-DerivedData, Archive und Simulatoren löschen

Xcode kann Dutzende Gigabyte belegen. So löschst du DerivedData, alte Archive, Gerätesupport-Dateien sowie ungenutzte Simulatoren und Laufzeitumgebungen sicher von deinem Mac.

Aktualisiert am · Geschrieben vom spacerecover-Team

Wenn du Apps für Apple-Plattformen entwickelst, ist Xcode nach deinen Fotos wahrscheinlich das Größte auf deinem Mac. Die Installation selbst ist schon groß, das eigentliche Wachstum kommt aber von Build-Ausgaben, Archiven, Gerätesupport-Dateien und Simulatoren. Das meiste davon lässt sich sicher zurückholen.

Eine grobe Gesamtgröße siehst du unter Systemeinstellungen > Allgemein > Speicher > Entwickler.

DerivedData: Build-Ausgaben und Indizes

DerivedData enthält Zwischendateien von Builds, Indizes und Modul-Caches für jedes Projekt, das du geöffnet hast. Es wächst mit jedem Projekt, jedem Branch und jeder Xcode-Version und wird beim Bauen vollständig neu erzeugt.

So leerst du es:

  1. Beende Xcode.
  2. Wähle im Finder Gehe zu > Gehe zum Ordner und gib ~/Library/Developer/Xcode/DerivedData ein.
  3. Lege die Ordner darin in den Papierkorb und leere ihn.

Oder im Terminal:

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

Rechne damit, dass der nächste Build jedes Projekts länger dauert, während Xcode neu baut und indiziert. Den Speicherort von DerivedData siehst und änderst du unter Xcode > Settings > Locations.

Archive: Behalte, was du ausgeliefert hast

Jedes Mal, wenn du Product > Archive wählst, speichert Xcode das Archiv einschließlich der Debug-Symbole. Du brauchst sie, um Absturzberichte von veröffentlichten Builds zu symbolisieren. Lösche sie also nicht alle blind.

  1. Öffne Window > Organizer und wähle Archives.
  2. Klicke mit der rechten Maustaste auf Archive von Builds, die du nie ausgeliefert hast, oder von Versionen, die nicht mehr genutzt werden, und wähle Delete.

Archive liegen nach Datum sortiert in ~/Library/Developer/Xcode/Archives.

Gerätesupport-Dateien

Wenn du ein echtes Gerät mit einer neuen Betriebssystemversion anschließt, kopiert Xcode die Debug-Symbole dieser Version nach ~/Library/Developer/Xcode/iOS DeviceSupport (und in ähnliche Ordner für watchOS und andere Plattformen). Jeder davon kann mehrere Gigabyte groß sein.

Lösche Ordner für Betriebssystemversionen, auf denen du nicht mehr testest. Schließt du wieder ein Gerät mit dieser Version an, erstellt Xcode sie neu.

Simulatoren und Simulator-Laufzeitumgebungen

Simulatoren liegen in ~/Library/Developer/CoreSimulator/Devices, mit den App-Daten in jedem simulierten Gerät. Laufzeitumgebungen (die simulierten Betriebssystemversionen) werden separat gespeichert und sind groß.

Simulatoren für nicht mehr installierte Laufzeitumgebungen entfernen:

xcrun simctl delete unavailable

Einzelne Simulatoren löschen unter Window > Devices and Simulators > Simulators: Klicke mit der rechten Maustaste auf einen Simulator und wähle Delete.

Simulator-Laufzeitumgebungen entfernen unter Xcode > Settings > Components (in manchen Xcode-Versionen Platforms). Wähle eine Laufzeitumgebung aus, die du nicht mehr brauchst, und klicke auf die Taste Minus (–). Du kannst Laufzeitumgebungen auch im Terminal auflisten und löschen:

xcrun simctl runtime list
xcrun simctl runtime delete <runtime-identifier>

Den Inhalt eines Simulators zurücksetzen, statt ihn zu löschen, geht in der Simulator-App mit Device > Erase All Content and Settings.

Alte Xcode-Versionen

Wenn du aus Kompatibilitätsgründen mehrere Xcode-Versionen behältst, ist jede davon groß. Lösche die Kopien im Ordner „Programme“, die du nicht mehr brauchst.

Caches

Xcode bewahrt außerdem Caches in ~/Library/Caches/com.apple.dt.Xcode auf, und Swift Package Manager speichert heruntergeladene Pakete in ~/Library/Caches/org.swift.swiftpm. Beide werden bei Bedarf neu aufgebaut. Beende Xcode, bevor du sie leerst.

Für andere Werkzeuge wie CocoaPods, Homebrew, npm und Gradle siehe Entwickler-Caches auf dem Mac leeren.

Häufige Fragen

Ist es sicher, Xcode-DerivedData zu löschen?

Ja. DerivedData enthält nur Build-Ausgaben, Indizes und Caches, die Xcode neu erzeugt. Beende vorher Xcode. Dein nächster Build ist langsamer, während neu gebaut wird.

Kann ich Xcode-Archive löschen?

Du kannst Archive von Builds löschen, die du nie veröffentlicht hast. Behalte Archive veröffentlichter Versionen, wenn du ihre Debug-Symbole zum Lesen von Absturzberichten brauchst.

Was ist iOS DeviceSupport und kann ich es löschen?

Es enthält Debug-Symbole, die von echten Geräten kopiert wurden. Lösche Ordner für Betriebssystemversionen, auf denen du nicht mehr testest; Xcode erstellt sie neu, wenn du ein Gerät mit dieser Version anschließt.

Soll das für dich erledigt werden?

spacerecover findet Xcode-DerivedData, Archive und Simulatordaten zusammen mit den Caches von Homebrew, npm, Gradle, CocoaPods, pip und Swift-Paketen, erklärt, was sich neu erzeugt, und rührt deine Projekte nie an. Archive und Simulatoren werden immer zur Prüfung angezeigt.

Quellen und weiterführende Links

WEITERLESEN