Xcode belegt zu viel Speicher – was darf weg?
Wo belegt Xcode Speicher?
Der größte Teil liegt nicht in Xcode.app selbst, sondern in ~/Library/Developer. Dort sammeln sich Build-Daten, Gerätesymbole, Simulatoren und Archive, die mit jedem Projekt und jeder iOS-Version wachsen.
~/Library/Developer/Xcode/DerivedData– Build-Zwischenstände und Indizes.~/Library/Developer/Xcode/iOS DeviceSupport– Symbole für jede verbundene iOS-Version.~/Library/Developer/Xcode/Archives– deine archivierten Builds samt dSYM-Dateien.~/Library/Developer/CoreSimulator/Devices– Simulatorgeräte mit ihren Daten.~/Library/Developer/CoreSimulator/Caches– Caches des Simulators.
Was kann ich sicher löschen?
Die folgenden Daten sind regenerierbar: Xcode erzeugt sie bei Bedarf neu. Beende Xcode vorher, damit keine Dateien in Benutzung sind.
- DerivedData: komplett löschbar; der nächste Build und die Indizierung dauern dann länger.
- iOS DeviceSupport: Ordner alter iOS-Versionen, die du nicht mehr testest; sie werden beim Anschließen eines Geräts erneut geladen.
- CoreSimulator-Caches: werden bei Bedarf neu angelegt.
- Nicht verfügbare Simulatoren:
xcrun simctl delete unavailableentfernt Geräte, deren Runtime nicht mehr installiert ist.
Was solltest du behalten?
Archives enthalten die dSYM-Dateien deiner veröffentlichten Builds. Ohne sie lassen sich Absturzberichte dieser Versionen nicht mehr symbolisieren – behalte deshalb mindestens die Archive aller Versionen, die noch im Umlauf sind, und lösche andere über Window › Organizer in Xcode.
Auch Simulatorgeräte mit Testdaten, die du noch brauchst, und die Runtimes deiner Zielplattformen solltest du nicht blind entfernen. Lösche nichts außerhalb der hier genannten Ordner in ~/Library.
Wie entferne ich Simulator-Runtimes?
Simulator-Runtimes sind oft mehrere Gigabyte groß. Du verwaltest sie in Xcode › Settings › Platforms (in älteren Xcode-Versionen unter Preferences › Components): Runtime auswählen und mit der Minus-Taste löschen.
Im Terminal zeigt xcrun simctl runtime list die installierten Runtimes an. Einzelne Simulatorgeräte löschst du in Xcode unter Window › Devices and Simulators.
Welche Paket-Caches wachsen neben Xcode?
Paketmanager legen eigene Caches an, die du gefahrlos leeren kannst – sie werden beim nächsten Download wieder befüllt.
- Homebrew:
brew cleanupentfernt alte Versionen und veraltete Downloads. - CocoaPods:
pod cache clean --allleert den Pod-Cache. - Swift Package Manager: Der Cache liegt in
~/Library/Caches/org.swift.swiftpm; Pakete werden bei Bedarf neu geladen.
Xcode-Speicher sicher freigeben
Xcode beenden
Beende Xcode und den Simulator, damit keine Dateien mehr in Benutzung sind.
DerivedData löschen
Wähle im Finder Gehe zu › Gehe zum Ordner, gib ~/Library/Developer/Xcode/DerivedData ein und lege den Inhalt in den Papierkorb.
Alte DeviceSupport-Ordner entfernen
Öffne ~/Library/Developer/Xcode/iOS DeviceSupport und lösche Ordner von iOS-Versionen, die du nicht mehr testest.
Nicht verfügbare Simulatoren löschen
Führe im Terminal xcrun simctl delete unavailable aus.
Ungenutzte Runtimes entfernen
Lösche unter Xcode › Settings › Platforms Simulator-Runtimes, die du nicht mehr brauchst.
Archives prüfen
Öffne Window › Organizer und lösche nur Archive von Versionen, die nicht mehr im Umlauf sind.
Paket-Caches leeren
Führe bei Bedarf brew cleanup und pod cache clean --all aus.
Häufige Fragen
Ist das Löschen von DerivedData sicher?
Ja. Xcode legt DerivedData beim nächsten Build neu an; der erste Build und die Indizierung dauern dann etwas länger. Beende Xcode vorher, damit keine Dateien in Benutzung sind.
Was passiert, wenn ich iOS DeviceSupport lösche?
Beim nächsten Anschließen eines Geräts lädt Xcode die passenden Symbole erneut, was einige Minuten dauern kann. Lösche daher bevorzugt Ordner alter iOS-Versionen, die du nicht mehr nutzt.
Darf ich ~/Library/Developer komplett löschen?
Nein. Dort liegen auch Archives mit dSYM-Dateien, Simulatorgeräte mit Testdaten und Daten anderer Entwicklerwerkzeuge. Lösche gezielt nur die regenerierbaren Ordner.
Wie viel Platz bringt das Aufräumen?
Das hängt stark von der Zahl deiner Projekte, iOS-Versionen und Simulatoren ab. Prüfe vorher mit du -sh ~/Library/Developer/* oder einer Speicherkarte, welche Ordner bei dir am größten sind.