Xcode Simulator: Wie entferne ich ältere nicht benötigte Geräte?

209

Ich verwende Xcode 4.3.1 iOS-Simulator, der ursprünglich nur iOS 5.1 unterstützt.

Ich muss meinen Code mit iOS 4.3 testen, daher habe ich die Xcode-Funktion "Installieren" verwendet, um ihn zu installieren, wie unter "Installieren von Xcode mit iOS 4.3-Gerätesimulator?" Beschrieben.

Jetzt bin ich mit dem Testen fertig, kann aber keine Möglichkeit finden, die 4.3-Teile ("iPhone 4.3 Simulator" und "iPad 4.3 Simulator") zu deinstallieren. Ich möchte die Unordnung im Schema-Menü reduzieren.

Niemand auf Apples Xcode-Listenservice wusste die Antwort!

BEARBEITEN: Beachten Sie, dass sich seit Xcode 4.3 viel geändert hat. Schlagen Sie daher jedem vor, der diesen Blick auf alle Antworten liest. Die neuesten wie Steve Mosers könnten für Sie von größerem Nutzen sein!

EDIT 10/2017: Gepostet auf Twitter von Julio Carrettoni

Wenn Sie ein iOS-Entwickler sind, führen
$ xcrun simctl delete unavailable
Sie Folgendes aus : Es werden alte Simulatoren entfernt, die Xcode nicht mehr verwendet. Für mich war es 6 GB. Ich habe es nicht selbst versucht ...

[Außerdem habe ich gerade gesehen, dass Russ Bishop dies bereits in einem Kommentar unten erwähnt hat ...]

David H.
quelle

Antworten:

172

Haben Sie versucht, das 4.3 SDK aus dem Xcode-Paket zu löschen?

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs

Bitte löschen Sie auch die entsprechende .dmg-Datei in

~ / Library / Caches / com.apple.dt.Xcode / Downloads

um zu verhindern , dass Xcode dasselbe Paket erneut installiert .


Für XCode> = 6 siehe die Antwort von @ praveen-matanam

childno͡.de
quelle
3
Du bist ein Genie! Vielen Dank! Ich kann nicht glauben, dass nein auf Xcode Listserv dies wusste. Ich schaue an mehreren Stellen, aber nicht dort, wo Sie vorgeschlagen hatten.
David H
Dies funktioniert in xcode 4.5.2 nicht. Sobald Sie den Compiler erneut starten, werden Sie aufgefordert, ältere Legacy-Geräte erneut zu installieren. Durch Abbrechen wird xcode beendet, sodass Sie erneut installiert werden müssen.
Alejandro Luengo
Das ist richtig, Alejandro, Apple scheint die "Lizenzsache" so geändert zu haben, dass Sie immer ein gültiges Entwicklerkonto benötigen und alle Erweiterungen bei jedem größeren Update innerhalb der App immer wieder installieren müssen. Legacy-Systeme werden meistens auch nicht unterstützt.
childno͡.de
1
In der Antwort von Dan Reese unten finden Sie Informationen zu Xcode 4.6.
BJ Homer
2
Arbeitete für Xcode 6.3.1 zusammen mit dieser Antwort stackoverflow.com/a/30206853/286618 . Alte Dokumentation gelöscht und 9 GB gespeichert !!!
RoLYroLLs
203

In Xcode 6+ können Sie einfach zu Menü> Fenster> Geräte> Simulatoren gehen und einen nicht benötigten Simulator löschen.

tomi44g
quelle
1
Die Frage war in Version 4 und wahrscheinlich 5 relevant. Wie Sie sehen, war es ziemlich schwierig. Ich habe es seitdem selbst vermieden, ältere Simulatoren zu verwenden.
David H
3
Das ist richtig. Wenn Sie möchten, dass die Simulatoren "wirklich weg" sind oder sie in Xcode -> Einstellungen -> Downloads neu installieren, müssen Sie die Simulator-Laufzeit löschen, wie unten angegeben. Stackoverflow.com/a/30206853/1344293
mathz
Vielen Dank, dies ist der einfachste Weg, um die Simulatoren zu verwalten. anstatt die Simulatoren aus den xcode-Ordnern zu löschen. Das funktioniert bei mir :)
Chirag
Wie lösche ich ein Gerät mit einer älteren iOS-Version? Das Gerätefenster zeigt nur Simulatoren mit iOS 9.1 (unter Xcode 7.1). Ich möchte vermeiden, device_set.plist zu bearbeiten und Ordner im Finder zu entfernen.
Bio
Sie können dieses Skript auch verwenden, um Simulatoren neu zu erstellen: gist.github.com/cabeca/3ff77007204e5479f7af
tomi44g
154

In Xcode 6 und höher können Sie die Simulatoren finden und aus dem Pfad löschen /Library/Developer/CoreSimulator/Profiles/Runtimes. Starten Sie Xcode neu, um wirksam zu werden (möglicherweise nicht erforderlich).

Praveen Matanam
quelle
6.4 hier. Ich musste meinen Computer neu starten, damit er wirksam wird.
Aasatt
2
7.2 - kein Neustart erforderlich
TheEye
xcode 8.0 benötigte einen Neustart, um die ungültigen Simulatoren im Gerätefenster zu löschen
Doug Amos
2
@thiagoveloso Das liegt daran, dass Sie keine andere Version von Simulatoren installiert haben, sondern iOS 10.0+. Ich hatte dort nur 9.3, 8.4 und 8.3 .simruntimeDateien
Aleksey Potapov
1
Ich kann auch in sein~/Library/Developer/...
Roberto
124

Update Oktober 2018

Wie bereits erwähnt, können Sie xcruneinige Dinge tun:

  • xcrun simctl list devicesoder xcrun simctl list --jsonum alle Simulatoren aufzulisten
  • xcrun simctl delete <device udid> um ein bestimmtes Gerät zu löschen
  • xcrun simctl delete unavailable um alte Geräte für Laufzeiten zu entfernen, die nicht mehr unterstützt werden

Weitere Dinge, mit denen Sie arbeiten können xcrun(siehe Code-Snippet)

Ursprüngliche Antwort

September 2017, Xcode 9

Laufzeit

Sie finden sie hier:

/Library/Developer/CoreSimulator/Profiles/Runtimes

Geben Sie hier die Bildbeschreibung ein

Geräte

Um Geräte zu löschen, gehen Sie hier:

~/Library/Developer/CoreSimulator/Devices

Mit Xcode können Sie sie viel einfacher löschen: Xcode-> Fenster-> Geräte und Simulatoren Geben Sie hier die Bildbeschreibung ein

Helfen Sie Xcode dabei, Laufzeiten zu "vergessen" und deren Neuinstallation zu verhindern - löschen Sie hier die .dmg-Datei (en):

~/Library/Caches/com.apple.dt.Xcode/Downloads

Ich hoffe es wird jemandem helfen 🙂

Pavel Kovalev
quelle
8
Bitte löschen Sie keine Geräte aus dem Dateisystem. verwenden xcrun simctl delete <device udid>. Sie können auch ausführen xcrun simctl delete unavailable, um alte Geräte für Laufzeiten zu entfernen, die nicht mehr unterstützt werden.
russbishop
1
Ich habe nicht ~ / Library / Caches / com.apple.dt.Xcode / Downloads (kein Downloads-Ordner in ~ / Library / Caches / com.apple.dt.Xcode /), frage mich warum
verheißungsvoll99
1
Der Ordnerpfad, den Sie aufgelistet haben, existiert nicht, Xcode 9.4
Peter Cullen
Dies ist, wonach ich gesucht habe: Nicht 12.2 simulierte Geräte einzeln löschen, sondern den gesamten 12.2-Simulator aus dem System löschen. Der Pfad funktionierte mit XCode 10.3. Nach dem Löschen musste ich es neu starten und die Anzahl der Simulatoren halbierte sich gerade.
Catanore
77

Führen Sie diesen Befehl im Terminal aus, um Simulatoren zu entfernen, auf die von der aktuellen Version von Xcode (8+?), Die auf Ihrem Computer verwendet wird, nicht zugegriffen werden kann.

xcrun simctl delete unavailable

Auch wenn Sie simulatorbezogenen Speicherplatz zurückfordern möchten, hat Michael Tsai festgestellt, dass er durch das Löschen von Sim-Protokollen 30 GB gespart hat.

~/Library/Logs/CoreSimulator
Steve Moser
quelle
2
Vielen Dank! Offensichtlich war die ursprüngliche Frage für Xcode 4, also haben sich die Dinge seitdem sehr verändert!
David H
2
Es gibt fast 20 GB für mich frei. Vielen Dank
Libor Zapletal
26

Xcode 4.6 fordert Sie auf, ältere Versionen des iOS-Simulators neu zu installieren, wenn Sie nur das SDK löschen. Um dies zu vermeiden, müssen Sie auch den Xcode-Cache löschen. Dann müssen Sie das ältere SDK beim Start nicht erneut installieren.

Um den iOS 5.0-Simulator zu entfernen, löschen Sie diese und starten Sie Xcode neu:

  1. /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/PhoneSimulator5.0.sdk
  2. ~ / Library / Caches / com.apple.dt.Xcode

Nach einer Neuinstallation von Xcode habe ich beispielsweise den iOS 5.0-Simulator über die Xcode-Einstellungen installiert. Später entschied ich, dass 5.1 genug war, konnte aber die 5.0-Version nicht entfernen. Xcode zwang mich immer wieder, es beim Start neu zu installieren. Nachdem sowohl die Cache-Datei als auch das SDK entfernt wurden, wurde nicht mehr gefragt.

Dan Reese
quelle
1
Eine etwas genauere Antwort hier , obwohl ich sie selbst noch nicht getestet habe.
Dan Reese
21

Ich hatte das gleiche Problem. Mir ging der Raum aus.

Das Löschen alter Gerätesimulatoren hat NICHT geholfen.

Mein Speicherplatzproblem wurde durch xCode verursacht. Seit ich xCode installiert habe, wurde eine Kopie jeder iOS-Version auf meinem MacOS gespeichert.

Löschen Sie die gewünschte iOS-Version und geben Sie Speicherplatz frei. Ich habe über 50 GB Speicherplatz gespart.

Geben Sie hier die Bildbeschreibung ein HINWEIS -> Wenn Sie mehrere Benutzer auf einem einzelnen MacOS-Computer haben, stellen Sie sicher, dass Sie das Verzeichnis NUR mit dem Benutzerkonto suchen, das ursprünglich xCode installiert hat.

rustyMagnet
quelle
Ich zähle 9G oben - wie haben Sie 75G wiederhergestellt?
David H
hi @DavidH - 75 GB waren vor meiner Bereinigung. Da ich seit Jahren mit xCode arbeite, hat xCode jede Variante von iOS 7, 8, 9 und 10 stillschweigend auf meinem Computer installiert. In Wirklichkeit brauche ich in Zukunft wahrscheinlich nur noch iOS10 und iOS11.
Rusty Magnet
1
Das ist großartig - ich wusste nie über diesen Ort. Ich hatte zehn GB hier, nachdem ich jemals jede Version von Xcode installiert hatte.
Echelon
Der Ordner existiert mit xCode 9.4 @PeterCullen. Sie müssen nur über das Benutzerkonto darauf zugreifen, das xCode ursprünglich installiert hat. Ich habe zwei Benutzerkonten auf meinem Mac, die xCode gemeinsam nutzen. Nur das Benutzerkonto, das xCode installiert hat, kann diesen Ordner anzeigen.
Rusty Magnet
1
Öffnen Sie den Finder und wählen Sie "Gehe zu Ordner"? Die Bibliothek ist standardmäßig ein versteckter Ordner.
Rusty Magnet
9

Wenn Sie einige der Antworten hier befolgen und einige Simulatoren aus meinem Xcode-Menü> Fenster> Geräte> Simulatoren löschen, hat dies meinem sterbenden Speicherplatz nicht geholfen: Geben Sie hier die Bildbeschreibung ein

Beim cd ~/Library/Developer/Xcode/iOS\ DeviceSupportLaufen habe du -sh *ich jedoch alle diese Typen:

2.9G    10.0.1 (14A403)
1.3G    10.1.1 (14B100)
2.9G    10.3.2 (14F89)
1.3G    10.3.3 (14G60)
1.9G    11.0.1 (15A402)
1.9G    11.0.3 (15A432)
2.0G    11.1.2 (15B202)
2.0G    11.2 (15C114)
2.0G    11.2.1 (15C153)
2.0G    11.2.2 (15C202)
2.0G    11.2.6 (15D100)
2.0G    11.4 (15F79)
2.0G    11.4.1 (15G77)
2.3G    12.0 (16A366)
2.3G    12.0.1 (16A404)
2.3G    12.1 (16B92)

Alles in allem sind das 33 GB!

Ein Blutbad folgte

Weitere Details finden Sie hier

Abbood
quelle
6

Zusätzlich zu @ childno.de Antwort Ihr Mac-Verzeichnis

/private/var/db/receipts/

enthält möglicherweise noch veraltetes iPhoneSimulatorSDK .bomund .plistDateien wie diese:

/private/var/db/receipts/com.apple.pkg.iPhoneSimulatorSDK8_4.bom /private/var/db/receipts/com.apple.pkg.iPhoneSimulatorSDK8_4.plist

Dadurch kann auf der Registerkarte "Downloads" der Xcode-Einstellungen ein Häkchen angezeigt werden ( ) für diese veraltete Simulatorversion angezeigt.

Um die unerwünschten Simulatoren zu löschen, können Sie mit diesem Befehl bash von Ihrem Mac-Terminal aus eine Suche durchführen:

sudo find / -name "*PhoneSimulator*"

Gehen Sie dann zu den entsprechenden Verzeichnissen, um unerwünschte SimulatorSDKs manuell zu löschen

Raymond
quelle
4

Öffnen Sie in XCode Fenster - Geräte, und wählen Sie die veralteten Simulatoren aus und entfernen Sie sie.

Catanore
quelle
3

Sie können auch das Bereitstellungsziel auf den höchsten Wert ändern. Dadurch wird verhindert, dass im Schema-Menü ältere Versionen angezeigt werden.

Gehen Sie dazu zu: Ziel-> Zusammenfassung und ändern Sie das Bereitstellungsziel.

werdsackjon
quelle
Vielleicht haben sich die Dinge geändert, seit ich die Frage gestellt habe, aber wenn ich das getan habe, würden Sie die verschiedenen Simulatoren im Schema-Menü sehen, und es war nur kompliziert, den richtigen auszuwählen.
David H
3

Ich habe alle Antworten ausprobiert. Keiner von ihnen hat für mich gearbeitet.

Was bei Sierra + Xcode 8.2 für mich funktioniert hat, war:

/Library/Developer/CoreSimulator/Devices und Löschen aller Geräte.

(Vielleicht wird dies nicht für Sie arbeiten, vielleicht dies ist eine Lösung als eigenständiges, oder vielleicht haben Sie diese auf andere Antworten zusätzlich zu tun, aber ich habe alle Lösungen hier und so nicht sicher , was die Tat tat). Beachten Sie jedoch, dass einige der Antworten hier alt sind und sich der Standort des Simulators geändert hat. Die Antwort von Snowcrash scheint die jüngste zu sein.

Honig
quelle
Kann ich davon ausgehen, dass Sie Xcode zuerst heruntergefahren, dies getan und dann Xcode neu gestartet haben?
David H
@ DavidH sorry ich erinnere mich nicht was ich getan habe. Ich hatte das Problem für 3-4 Wochen. Jedes Mal, wenn es passierte, als ich zwischen Projekten / Sim-Geräten wechselte ... Ich habe einfach alles versucht und dies schien es für mich zu tun ... wieder könnte es etwas anderes für dich sein
Honey
@ DavidH haben Sie auch diese Antwort
Honey
Für Xcode 10 und höher lautet der Ordner : ~/Library/Developer/CoreSimulator/Devices.
Blackjacx
3

Ich habe ein einzeiliges Bash-Skript geschrieben, mit dem ALLE Ihre Simulatoren gelöscht werden :

xcrun simctl list devices | grep -E -o -i "([0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12})" | xargs -L1 xcrun simctl delete
  • xcrun simctl list devices listet alle auf Ihrem Computer installierten Simulatoren auf
  • grep -E -o -i "([0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12})" greift nach der UUID des Geräts
  • xargs -L1 xcrun simctl delete versucht, das Gerät für jede gefundene UUID zu löschen

Wenn Sie alles sehen möchten, was ausgeführt wird, können Sie echovorher hinzufügen xcrun, dh

xcrun simctl list devices | grep -E -o -i "([0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12})" | xargs -L1 echo xcrun simctl delete
Toland Hon
quelle
2

Das Problem bei diesen Antworten ist, dass sich mit jedem Xcode-Update Menüs und Speicherorte ändern.

Gehen /Applications/Xcode.app/Contents/Developer/PlatformsSie einfach zu und löschen Sie, was Sie nicht benötigen. Xcode wird gut starten. Wenn Sie überhaupt betroffen sind, können Sie einfach aus dem Papierkorb wiederherstellen.

Snowcrash
quelle
2
Ich bezweifle ernsthaft, dass Xcode Simulatoren herunterlädt, die Sie als Bundle anfordern. Sicherlich gehen sie in die Benutzerbibliothek, nein? Das heißt, ich habe noch nie einen älteren heruntergeladen, seit ich mein Problem mit Xcode 4 hatte.
David H
Für jede Plattform (iOS, watchOS, AppleTVOS, MacOS) habe ich 2 Ordner: Ich habe "iPhoneOS.platform" und "iPhoneSimulator.platform". Welchen soll ich löschen? Ich habe mich bei einem Kollegen erkundigt, er hatte genau beide, aber kein Problem. Der Grund, warum ich tatsächlich hier bin, ist dieses Problem, und jemand hat mir gesagt, dass ich 2 Simulatoren / Xcodes habe, aber wenn ich es nicht richtig gemacht habe, bin ich ' Ich habe meine andere Version von Xcode gelöscht und auch die 9.3-Laufzeit gelöscht ...
Honey
1
Bitte, bitte, bitte tu das nicht. Niemand sollte mit Inhalten im Xcode-Bundle herumspielen.
Russbischof
2

Einige Leute versuchen, es auf eine Weise zu beheben, andere auf die zweite. Grundsätzlich gibt es zwei Probleme, die, wenn Sie sie überprüfen und beide lösen, in 99% dieses Problem beheben sollten:

  1. Alte Gerätesimulatoren befinden sich unter YOUR_MAC_NAME(zB Macintosh) -> Users-> YOUR_USERNAME( daniel) -> Library-> Developer-> Xcode-> iOS Device Support. Lass es dort, das neueste, ab heute 13.2.3 (17B111), aber in Zukunft wird es sich ändern. Die höchste Zahl (hier 13.2.3) der iOS-Version zeigt an, dass sie neuer ist.

  2. Nach dieser Liste werden Ihre Geräte Terminaldurch Ausführen aufgelistet xcrun simctl list devices. Viele von ihnen könnten es sein unavailable, daher löschen Sie sie durch Ausführen xcrun simctl delete unavailable. Es wird auch etwas Platz frei. Um sicherzugehen, dass alles in Ordnung ist, überprüfen Sie es erneut, indem Sie ausführen xcrun simctl list devices. Sie sollten nur Geräte der neuesten Version (hier 13.2.3) sehen, wie der folgende Screenshot zeigt.

Geben Sie hier die Bildbeschreibung ein

Als Bonus, der für diese Frage etwas weniger relevant ist, aber dennoch etwas Platz frei hat. Gehen Sie zu YOUR_MAC_NAME(zB Macintosh) -> Users-> YOUR_USERNAME(zB daniel) -> Library-> Developer-> Xcode->Archives . Sie werden viele archivierte bereitgestellte Anwendungen sehen, höchstwahrscheinlich benötigen Sie nicht alle. Versuchen Sie, diese zu löschen, die nicht mehr verwendet werden.

Mit diesen beiden Methoden und der Bonusmethode konnte ich zusätzliche 15 GB Speicherplatz auf meinem Mac erhalten.

PS. Das einfache Löschen von Simulatoren aus Xcode unter Xcode-> Window-> Devices and Simulators-> Simulators(oder einfach CMD+ SHIFT+ 2bei Verwendung der Tastenkombination) und das Löschen dort hilft nicht weiter. Sie müssen wirklich die beschriebenen Schritte ausführen.

Daniel Danielecki
quelle
-2

Befehl + Leertaste

Geben Sie 'simulator' ein

Öffnen Sie den alten Beta-Simulator, den Sie nicht mehr benötigen.

Klicken Sie im Dock mit der rechten Maustaste darauf und wählen Sie "Optionen"> "Im Finder anzeigen".

Schließen Sie die App und entfernen Sie sie aus dem Ordner.

:) :)

Samer
quelle