AskCleanAskClean

Xcode-Simulator: Speicher für Laufzeiten und Geräte aufräumen

AskClean-Team · Aktualisiert 2026-09-29

Prüfe zuerst Laufzeiten und Daten der einzelnen Simulatorgeräte. Entferne anschließend nur nicht mehr benötigte Ziele über Xcode oder simctl. Geräte teilen sich Laufzeiten, speichern Apps und Testdaten aber separat. Sichere benötigte Zustände und lösche nicht den gesamten CoreSimulator-Ordner.

Konzeptdarstellung einer gemeinsamen Laufzeit mit getrennten Gerätedaten
Mehrere Geräte können eine Laufzeit teilen; Apps und Testzustände bleiben gerätespezifisch. Konzeptdarstellung, kein Screenshot.

Laufzeiten und Gerätedaten getrennt erfassen

Eine Laufzeit ist ein gemeinsam genutztes Betriebssystemabbild; jedes Gerät hat eigene Apps, Dokumente, Caches und Testzustände. Beginne mit xcrun simctl list devices. Das verlinkte Skript misst typische Entwicklerordner und zeigt Simulatorzustände, ohne Dateien zu löschen oder Administratorrechte anzufordern. Lies es vor dem Ausführen. Nicht alle systemweiten Laufzeitpfade werden erfasst; prüfe zusätzlich Xcodes Komponentenverwaltung.

Die Menünamen stehen hier auf Englisch. Je nach Sprache und Version können sie bei dir anders heißen.

Den vollständigen Löschumfang prüfen

xcrun simctl delete unavailable löscht alle als unavailable markierten Geräte samt lokalen Daten. Nutze es nur, wenn die gesamte Liste entbehrlich ist. Ein passendes Xcode oder eine neu installierte Laufzeit kann ein Gerät wieder zugänglich machen. Exportiere benötigte Daten zuerst; behalte das Gerät, wenn du einen wichtigen Zustand weder sichern noch nachstellen kannst.

Verfügbare Geräte lassen sich einzeln in Xcodes Simulatorverwaltung entfernen, je nach Version unter Window > Devices and Simulators > Simulators. Beim Löschen von Inhalt und Einstellungen bleibt das Gerät bestehen; beim Entfernen entfällt auch sein Eintrag. In beiden Fällen gelangen die verlorenen Daten nicht in den Papierkorb.

Laufzeiten über Xcode verwalten

Öffne Xcode Settings > Components, in älteren Versionen teilweise Platforms. Behalte Betriebssystemversionen für Tests und die Nachstellung von Nutzerproblemen. Entferne Laufzeiten über die Komponentenverwaltung, nicht durch Eingriffe in ihre Pakete. Lösche weder ~/Library/Developer/CoreSimulator komplett noch unbekannte Cachedateien.

Speicher und Funktion kontrollieren

Notiere Ordnerbelegung und freien Speicher. Räume jeweils eine Kategorie auf und wiederhole dieselbe Messung. Das Skript formatiert du-Werte; diese entsprechen nicht zwingend exakt dem zusätzlich verfügbaren Speicher. Prüfe Laufzeiten auch in der Komponentenliste. Starte anschließend Geräte mit den behaltenen Laufzeiten und teste eine typische App samt benötigtem Zustand. Eine neu installierte Laufzeit stellt gelöschte Gerätedaten nicht wieder her.

Archives und dSYM separat aufbewahren

Archives können veröffentlichte Builds und dSYM für die Absturzanalyse enthalten und für erneuten Export oder erneute Signierung nötig sein. Behalte Material für unterstützte Releases. Entferne lokale Kopien erst nach Prüfung eines nutzbaren Backups über Organizer. Für diese Überarbeitung wurden keine echten Geräte oder Laufzeiten gelöscht; eine feste Platzersparnis wird nicht behauptet.

Vor dem Löschen prüfen

Prüfe Speicherort, Zweck und Wiederherstellung. Die Tabelle ist keine automatische Löschliste und verspricht keine feste Platzersparnis.

BereichPrüfpunktFolgen und Bedingungen
Nicht verfügbare Gerätexcrun simctl list devicesApps und Testzustände werden gelöscht. Prüfe vorher die gesamte Liste.
Verfügbare GeräteXcode > Devices and SimulatorsDaten des gewählten Geräts gehen verloren; benötigte Inhalte vorher exportieren.
LaufzeitenXcode Settings > ComponentsEntfernt das Betriebssystemabbild. Neuinstallation ersetzt keine Gerätedaten.
CoreSimulator-Caches~/Library/Developer/CoreSimulator/CachesBelegung prüfen; manuelles Löschen wurde hier nicht validiert.

FAQ

Kann ich unavailable-Geräte bedenkenlos löschen?

Erst nach Prüfung der vollständigen Liste. Der Befehl löscht alle betroffenen Geräte und Daten ohne Papierkorb. Eine fehlende Laufzeit bedeutet nicht, dass die Daten unwichtig sind.

Warum bleibt der Speicherverbrauch hoch?

Installierte Laufzeiten und verfügbare Geräte bleiben bestehen. Prüfe sie getrennt. DerivedData enthält andere Buildausgaben; sein Löschen entfernt keine Simulatorlaufzeiten.

Quellen