Guide di Levo · Sviluppatori: Apple

Perché Xcode è così grande? Cosa si può eliminare in sicurezza

L’elenco Ready to free di Levo con i dati di build di Xcode aperti, e sotto Simulators and emulators e Device support files

L’app Xcode è solo una parte. Il peso vero sta in ~/Library/Developer: dati di build, simulatori, runtime scaricati e simboli di debug di ogni dispositivo che hai collegato. Quasi tutto si ricrea, quindi puoi svuotarlo. Le due eccezioni sono gli archivi e i dati dentro i simulatori che usi ancora.

CosaDoveSi può eliminare?
Xcode.app/Applications/Xcode.appLe vecchie versioni sì. Tieni quella che usi
Dati di build~/Library/Developer/Xcode/DerivedDataSì, si ricreano alla build successiva
Simulatori~/Library/Developer/CoreSimulator/DevicesSì, ma se ne vanno anche i dati delle app al loro interno
Runtime dei simulatori/Library/Developer/CoreSimulator (immagini disco)Sì, si riscaricano quando servono
Device support~/Library/Developer/Xcode/iOS DeviceSupportSì, vengono copiati di nuovo al collegamento
Archivi~/Library/Developer/Xcode/ArchivesSolo se la build è pubblicata e i suoi simboli sono conservati altrove
Cache~/Library/Caches/com.apple.dt.XcodeSì
Anteprime SwiftUI~/Library/Developer/Xcode/UserData/PreviewsSì
Strumenti da riga di comando/Library/Developer/CommandLineToolsSolo se hai Xcode completo e non ti servono separatamente

Come farlo da solo

Misura prima le cartelle, così dedichi il tempo a quelle grandi:

du -sh ~/Library/Developer/Xcode/* ~/Library/Developer/CoreSimulator /Library/Developer/CoreSimulator 2>/dev/null
  1. Chiudi Xcode, poi elimina il contenuto di DerivedData. Vedi come eliminare DerivedData.
  2. Rimuovi i simulatori e i runtime che non usi con xcrun simctl, oppure in Xcode › Settings › Components. Vedi come eliminare i vecchi simulatori.
  3. Apri iOS DeviceSupport ed elimina le cartelle delle versioni di iOS che i tuoi dispositivi non usano più. Vedi cos’è DeviceSupport.
  4. Svuota le cache dei pacchetti con i comandi in Le cache di SwiftPM e CocoaPods.
  5. Apri Xcode › Window › Organizer › Archives e guarda cosa c’è. Gli archivi sono l’unica copia della build esatta che hai inviato ad App Store Connect, e i dSYM al loro interno servono a simbolicare i suoi rapporti di crash. Elimina i vecchi solo quando hai quei simboli altrove.

Le vecchie versioni di Xcode in /Applications pesano da 12 a 15 GB ciascuna. Eliminale nel Finder, non spostando di lato la cartella Developer.

Quanto costa ripristinare ciascuno

Il più economico da perdere è DerivedData: una build più lenta per progetto. I runtime dei simulatori costano un download di diversi gigabyte e qualche minuto, quindi tieni solo le versioni di iOS che la tua app supporta. Il device support costa una breve attesa la prossima volta che colleghi un telefono.

Gli archivi sono diversi. I file dSYM al loro interno trasformano un rapporto di crash grezzo di una vecchia versione in righe leggibili. Se carichi i dSYM nel tuo strumento di crash al momento del rilascio, l’archivio è solo un grosso zip che puoi eliminare. Se non lo fai, tieni l’archivio di ogni versione ancora in circolazione.

Anche gli aggiornamenti di Xcode sono una causa silenziosa. Ogni nuova versione installata accanto alla vecchia aggiunge da 12 a 15 GB, e le beta di Xcode si accumulano sopra. Elimina le vecchie copie nel Finder, svuota il Cestino e lo spazio torna subito. Se un Mac è quasi pieno, fallo prima di ogni altra cosa, perché un disco pieno fa fallire in modi strani l’indicizzazione e le build di Xcode.

Come fa Levo

Levo elenca i dati di build di Xcode, i file di device support, i simulatori e le cache dei pacchetti come righe separate con le dimensioni, così vedi quale di questi è il tuo mucchio da 80 GB. Dati di build e cache vengono selezionati per primi quando il progetto è vecchio o non c’è più. Le vecchie versioni di Xcode e gli archivi vengono elencati ma mai selezionati al posto tuo.

Levo rimuove i simulatori con il simctl di Xcode stesso e salta i dati di build mentre sono in esecuzione Xcode, xcodebuild o un simulatore avviato. Vedi Levo per sviluppatori iOS e Mac.

Domande frequenti

Perché Xcode occupa 100 GB?

Per ciò che conserva fuori dall’app: dati di build per ogni progetto, simulatori e i loro runtime, simboli di debug per ogni dispositivo che hai collegato e archivi. L’app in sé pesa circa 15 GB.

Posso eliminare la cartella Library/Developer di Xcode?

Non l’intera cartella. Svuota DerivedData, i dispositivi di CoreSimulator e DeviceSupport al suo interno, ma lascia Archives e la cartella UserData, che contiene le tue scorciatoie e i temi, a meno che tu non voglia perderli.

Eliminare DerivedData rovina i miei progetti?

No. Il tuo codice sorgente e le impostazioni dei progetti non sono lì dentro. La build successiva è più lenta mentre Xcode ricostruisce e reindicizza.

I runtime dei simulatori si possono eliminare in sicurezza?

Sì. Sono download, quindi Xcode li riscarica quando un progetto ne ha bisogno. Eliminare un dispositivo simulatore cancella i dati delle app al suo interno.