Fråga:
Kan jag ta bort onödiga enhetssimulatorer av Xcode?
IzumiSy
2017-11-22 20:03:27 UTC
view on stackexchange narkive permalink

Jag upptäckte att Xcode på min bärbara dator förbrukar mycket av sitt lagringsutrymme, så jag försöker ta bort onödiga filer i Xcode.

Det finns fyra kataloger under Application / Xcode.app / Innehåll / Developer / Platforms / .Jag tycker att WatchSimulator.platform och AppleTVSimulator.platform inte är nödvändiga, för jag använder Xcode nästan bara för grundläggande iOS-utveckling.

Jag skulle vilja veta om jag kan ta bort plattformskatalogerna direkt?

Directories

Bara en FYI ... Du kommer bara att få ungefär hälften av det visade utrymmet, eftersom de verkar vara komprimerade.Titta på arkivet Get Info, t.ex.på mitt system för WatchOS.platform visar det 50,579,830 byte (28,2 MB på disk) för 2,212 objekt och AppleTVSimulator.platform visar 1 865 477 227 byte (1,1 GB på disk) för 29 705 artiklar.Så du kommer inte att få så mycket ledigt utrymme som de värden som visas i din OP.
** Filerna är komprimerade ** och Apples HFS + File System stöder Transparent Compression men Finder och `ls` i Terminal saknar en flagga för att se en fil använder _hfsCompression_, sans Get Info Sheet där du kan se _on disk_-värdet är dramatisktannorlunda än storleken visas i byte.Det finns ett verktyg skrivet av en tredje part, som inkluderar källkoden om man vill kompilera det själva, [afsctool] (https://brkirch.wordpress.com/afsctool/).Bland dess funktioner är att få information om befintliga HFS + komprimerade filer.
Vilket program hjälper dig att bestämma dessa stora filer på din enhet?
@Pysis ser ut som [OmniDiskSweeper] (https://www.omnigroup.com/more) för mig.Det verktyget har inte uppdaterats för APFS och komprimering, men det ser ut som om de har några nya testbyggnader nu.
@Zach Lipton, Om OP kör High Sierra och APFS kanske filerna inte komprimeras eftersom APFS ännu inte stöder komprimering.Eller ändrades denna 10.13.1?
Finns det ett mycket snabbare sätt?Högerklicka-radera 50+ simulatorer en efter en känns som ett jobbigt jobb
https://i.stack.imgur.com/dEoQR.png
@JesonMartajaya Om du vill radera alla simulatorer kan du `xcrun simctl delete all '.
Nio svar:
fsb
2017-11-22 20:15:19 UTC
view on stackexchange narkive permalink

Ja, du kan radera vilken simulator du inte använder. Jag gör detta rutinmässigt när jag slutar stödja äldre iOS-versioner.

Om du tar bort dem och sedan upptäcker att du behöver dem någon gång i framtiden kan du ladda ner dem igen från Apples utvecklarwebbplats.

Det bästa sättet att radera dem är i Xcode. Gå till Fönster -> Enheter och simulatorer . Detta öppnar ett nytt fönster med alla enheter du använder i Xcode.

Klicka på Simulatorer högst upp så visas en lista till vänster.

Hitta därifrån den simulator du vill ta bort och Cntl - klicka (eller högerklicka) och välj Radera .

Jag gör detta med varje simulator som körs i varje iOS-version som jag inte längre stöder.

Update July 2020: Det finns ett gratis verktyg i Mac App Store med namnet DevCleaner för Xcode. Denna applikation kan visa och ta bort simulatorer och olika cacheminnen. Jag har funnit att det är ett väldigt snabbt och enkelt sätt att återfå plats. Jag är inte utvecklaren eller associerad med det här programmet på något sätt.

Jag vet att det här inlägget är ett par år gammalt, men detta verkar inte ta bort simulatorn, utan snarare bara listningen av den i Xcode.Så om man behövde ta bort det för att spara diskutrymme är det inte rätt metod.
Francois Nadeau
2018-08-30 19:33:36 UTC
view on stackexchange narkive permalink

Xcode delar nu simulatorerna med alla användare.Så du måste ta bort simulatorerna från följande mapp:

  / Library / Developer / CoreSimulator / Profiles / Runtimes
 

Till exempel:

  cd / Bibliotek / Utvecklare / CoreSimulator / Profiler / Runtimes
sudo rm -rf iOS \ 8.4.simruntime /
sudo rm -rf iOS \ 9.3.simruntime /
 

Skål!

beryllium
2019-02-05 19:22:17 UTC
view on stackexchange narkive permalink

Du kan enkelt ta bort alla otillgängliga simulatorer med det här kommandot i terminalen:

  xcrun simctl-radering är inte tillgänglig
 
I verkligheten gör det inte mycket.Om du kör `xcrun simctl list` ser du att endast ~ 10% av enheterna anses vara" otillgängliga ".Även enheter är inte de riktiga rymdsvin här.iOS-driftstider är.@Francois's-svaret är mycket bättre i praktiken.
@joshuakcockrell Inte nödvändigtvis;efter år med ackumulerade föråldrade simulatorversioner frigjorde detta löjligt mycket utrymme i mitt fall.Så jag antar att ymmv.
Jag räknade ('wc -l') 148 rader i listan med 'otillgänglig' och 128 ut.Raderingskommandot ovan gav mig 14 GB tillbaka
Ricardo Barroso
2018-06-06 17:06:29 UTC
view on stackexchange narkive permalink

Trots @ fsbs svar kan du ta bort "instanser" av simulatorn, rätt sätt att frigöra ett massivt utrymme som används av gamla simulatorplattformar som inte behövs längre går till följande mapp:

  ~ / Bibliotek / Utvecklare / Xcode / iOS DeviceSupport
 

och ta bort mapparna som motsvarar simulatorn / plattformarna du inte behöver längre.

Dessutom finns det en mycket bra artikel som inkluderar detta och andra tips:

det verkar som att "/ Library / Developer / Xcode" har tagits bort efter den nya macOS-uppdateringen.Jag kan inte hitta den någonstans.
@Suhaib du glömde den initiala tilden "** ~ **" som gör att sökvägen börjar i din hemkatalog.Rätt katalog är: `~ / Library / Developer / Xcode / iOS DeviceSupport`.
glöm inte `~ / Library / Developer / Xcode / watchOS DeviceSupport` också
joshuakcockrell
2019-09-16 22:23:47 UTC
view on stackexchange narkive permalink

Där Xcode lagrar simulatorer i 2019+ Catalina, Xcode 11.0

Körtid

$ open / Library / Developer / CoreSimulator / Profiles / Runtimes

Till exempel: iOS 13.0 , watchOS 6.0 Dessa tar överlägset mest utrymme.Var och en kan vara upp till ~ 5 GB

Enheter

$ open ~ / Library / Developer / CoreSimulator / Devices

Till exempel: iPhone Xr , iPhone 11 Pro Max .Dessa är vanligtvis <15 mb vardera.

Förklaring

Simulatorer är uppdelade mellan driftstider och enheter.Om du kör $ xcrun simctl list kan du se en översikt, men om du vill hitta den fysiska platsen för dessa simulatorer, titta i dessa kataloger som jag har visat.

Det är helt säkert att ta bort driftstider som du inte stöder.Du kan installera om dem senare om du vill.

Tack, det hjälpte mig mycket!
Jag raderade Runtime-mappar för de plattformar jag inte använde och nu öppnas inte Xcode längre.
@Roberto Finns det något fel eller något du ser?Kan du förklara vad som händer?Att ta bort "iOS 13.3.simruntime" -filerna är helt bra.Att bara installera om Xcode skulle förmodligen vara snabbare än att försöka fixa en orolig installation.
Jag installerade om det, felet handlade om att en bild som krävs av ett bibliotek inte hittades.
Jasmeet Singh
2019-06-13 07:38:48 UTC
view on stackexchange narkive permalink
  • för att lista alla simulatorer xcrun simctl lista enheter eller xcrun simctl lista --json

  • för att radera specifik enhet xcrun simctl ta bort <device udid>

  • för att ta bort gamla enheter för driftstider som inte längre stöds xcrun simctl ta bort otillgänglig

du kan använda 'xcrun simctl ta bort allt' antar jag
tack för den gamla biten som inte stöds.Jag hade slut på lagring på grund av de gamla körtiderna.
Tejinder
2019-02-18 16:39:00 UTC
view on stackexchange narkive permalink

Öppna Terminal.app och kör följande:

cd / Library / Developer / CoreSimulator / Profiles / Runtimes

Skriv nu den iOS-version som du vill ta bort simulatorer i kommandot nedan, till exempel om du vill ta bort för iOS 12.0, kör:

sudo rm -rf iOS \ 12.0.simruntime /

flo_23
2019-05-24 19:20:31 UTC
view on stackexchange narkive permalink

Tå ta bort simulatorer med iOS-version:

Om du bara vill ta bort simulatorer för en specifik version och du råkar ha fastlane kan du starta ett interaktivt ruby-skal och köra följande kommandon för att ta bort alla iOS 10-simulatorer:

  # starta det interaktiva ruby shell (irb)
$ irb

# kräver enhetshanteringsfunktionerna i fastlane-kärnan
irb (main): 001: 0> kräver 'fastlane_core / device_manager'

# ta bort alla iOS 10-simulatorer
irb (main): 002: 0> FastlaneCore :: Simulator.delete_all_by_version (os_version: "10.0")
 
Anish
2020-05-23 21:08:35 UTC
view on stackexchange narkive permalink

Kör under kommandot för att ta bort simulatorer som inte stöds.Det kommer att tömma mycket utrymme

  xcrun simctl-radering är inte tillgänglig
 


Denna fråga och svar översattes automatiskt från det engelska språket.Det ursprungliga innehållet finns tillgängligt på stackexchange, vilket vi tackar för cc by-sa 3.0-licensen som det distribueras under.
Loading...