So bereinigen Sie Xcode-Caches auf dem Mac (DerivedData, Archive, Simulatoren)
So bereinigen Sie Xcode-Caches auf dem Mac (DerivedData, Archive, Simulatoren)
Wenn Sie iOS- oder macOS-Apps entwickeln, ist Xcode eine der schnellsten Möglichkeiten, Festplattenspeicher zu verbrauchen. DerivedData, Archive, Simulatoren und SwiftPM-Caches können ohne Vorwarnung in der Speicherübersicht auf Dutzende von Gigabytes anwachsen.
Dieser Leitfaden erklärt, was jeder Ordner tut, was Sie sicher löschen können und wie Sie die Bereinigung automatisieren. Für eine umfassendere Speicherstrategie siehe So geben Sie Speicherplatz auf dem Mac frei.
Warum Xcode so viel Speicherplatz belegt
Xcode speichert mehrere unabhängige Datenkategorien:
- DerivedData – Zwischenprodukte des Builds, Indizes und Modul-Caches. Kann sicher gelöscht werden; Xcode wird sie beim nächsten Kompilieren neu erstellen.
- Archive – Release-Builds für App Store Connect und Ad-hoc-Verteilung. Alte Archive werden oft vergessen.
- Simulatoren – vollständige Laufzeit-Images von Geräten. Das Entfernen ungenutzter Laufzeiten gibt viel Speicherplatz frei.
- SwiftPM – Checkouts und Build-Artefakte unter
.buildund SwiftPM-Caches. - Geräteunterstützung – Symbole für verbundene iOS-Geräte; ältere Versionen können entfernt werden, wenn Sie diese OS-Versionen nicht mehr testen.
Nichts davon ist „Ihr Quellcode“. Es handelt sich um reproduzierbare Artefakte, weshalb das Löschen in der Regel ein geringes Risiko darstellt.
DerivedData manuell bereinigen
- Beenden Sie Xcode.
- Öffnen Sie den Finder und drücken Sie Umschalt + Befehl + G.
- Fügen Sie ein:
~/Library/Developer/Xcode/DerivedData - Löschen Sie den Inhalt (oder den gesamten Ordner). Xcode wird ihn neu erstellen.
Alternativ in Xcode: Einstellungen → Speicherorte → Derived Data und klicken Sie auf den Pfeil, um den Ordner im Finder zu öffnen.
Alte Archive entfernen
Archive befinden sich unter:
~/Library/Developer/Xcode/Archives
Jeder datierte Ordner ist ein Xcode-Archiv. Löschen Sie Archive für alte Versionen, die Sie nicht mehr versenden oder debuggen müssen. Behalten Sie aktuelle, wenn Sie noch Absturzprotokolle von diesen Builds symbolisieren müssen.
Simulator-Laufzeiten kürzen
- Öffnen Sie Xcode → Einstellungen → Plattformen (oder Komponenten bei älteren Xcode-Versionen).
- Entfernen Sie iOS-/watchOS-/tvOS-Laufzeiten, die Sie nicht mehr verwenden.
Sie können auch Daten unter ~/Library/Developer/CoreSimulator löschen – ziehen Sie es jedoch vor, Plattformen zuerst über Xcode zu entfernen, um aktive Projekte nicht zu beschädigen.
SwiftPM und CocoaPods
- SwiftPM: Checkouts unter
~/Library/Caches/org.swift.swiftpmund Projektordner.build. - CocoaPods: Der
Pods-Ordner kann mitpod installneu generiert werden.
Wenn Sie unsicher sind, erstellen Sie ein Backup oder verwenden Sie die Versionskontrolle, bevor Sie große Ordner innerhalb eines Projekts löschen.
Xcode-Bereinigung mit NythyCleaner automatisieren
NythyCleaner enthält einen Bereich Entwickler / Xcode, der gängige Entwicklerpfade scannt, zusammenfasst, wie viel Speicherplatz jede Kategorie belegt, und Ihnen ermöglicht, diese in einem Arbeitsablauf zu bereinigen. Sie können es kombinieren mit:
- Festplattenspeicher – Treemap-Ansicht, um zu sehen, wohin der Speicherplatz über Xcode hinausgeht.
- Systembereinigung – Caches und Protokolle, die sich neben Xcode ansammeln.
Sicherheits-Checkliste
- Schließen Sie Xcode, bevor Sie DerivedData oder große Simulator-Daten löschen.
- Löschen Sie Ihre
~/Developer- oder Projektordner nicht, es sei denn, Sie beabsichtigen dies. - Behalten Sie aktuelle App Store-Archive, wenn Sie noch passende Builds hochladen oder debuggen müssen.
Zusammenfassung
| Ort | Typischer Inhalt | Sicher zu löschen? |
|---|---|---|
| DerivedData | Build-Ausgaben, Indizes | Ja (wird neu erstellt) |
| Archive | IPA/IPA-bezogene Archive | Ja, wenn veraltet |
| Simulatoren | Laufzeit-Images | Ja, ungenutzte Laufzeiten |
| SwiftPM-Caches | Abhängigkeiten, Builds | Normalerweise ja |
Regelmäßiges Bereinigen der Xcode-Caches hält SSDs schnell und vermeidet unerwartete „Festplatte voll“-Fehler während des Builds.