# Eliminare i vecchi runtime del simulatore iOS su Mac

> Distingui dispositivi e runtime, poi usa Xcode o simctl senza toccare archivi e simboli ancora necessari.

Published: 2026-09-01 | Updated: 2026-09-30

I simulatori iOS di Xcode possono occupare silenziosamente gigabyte di spazio di archiviazione nel tempo. Ecco come recuperare quello spazio.

Lo spazio di Xcode è diviso tra runtime, dispositivi simulati, DerivedData, DeviceSupport e Archives. Sono vicini nel Finder, ma hanno gestione e costi di recupero diversi. Misura prima di eliminare.

## Crea prima un inventario dello spazio Xcode

Apple consiglia di gestire le piattaforme aggiuntive nelle [impostazioni Components di Xcode](https://developer.apple.com/documentation/xcode/downloading-and-installing-additional-xcode-components). Dopo aver verificato i dispositivi non disponibili, esegui:

```bash
xcrun simctl list runtimes
xcrun simctl list devices
```

| Tipo | Costo dopo la rimozione | Conservalo se |
|---|---|---|
| Runtime | Nuovo download e dispositivi dipendenti non disponibili | Serve al piano di test o alla riproduzione |
| Dispositivo virtuale | App, Portachiavi, database e stato di test eliminati | Devi ancora riprodurre un problema |
| DerivedData | Nuova build e indicizzazione | La build corrente lo usa |
| DeviceSupport | Possibile perdita del debug offline per un OS reale | Dispositivo o crash ancora rilevante |
| Archives | Possibile perdita del dSYM del build distribuito | Gli utenti eseguono ancora quella versione |

## Perché i simulatori iOS occupano così tanto spazio

Un runtime è un’immagine di sistema iOS, watchOS, tvOS o visionOS scaricata. Un dispositivo simulato è un dispositivo virtuale che usa uno di questi runtime. Più dispositivi possono condividere la stessa immagine, quindi non sono la stessa cache.

## Come eliminare i simulatori inutilizzati tramite Terminale

Elenca prima runtime e dispositivi in sola lettura.



Questi comandi non disinstallano i runtime. Controlla e rimuovi le immagini scaricate in **Xcode > Settings > Components**. Non cancellare direttamente le cartelle in `/Library/Developer/CoreSimulator` o `/System/Library/AssetsV2`.

### Il più recente di ogni piattaforma attiva
Conserva il runtime più recente di una piattaforma sviluppata.

### Una versione precedente necessaria per riprodurre un bug
Conserva questa versione se i test, la CI o l’analisi di un problema segnalato ne dipendono.

## Rimuovere separatamente i dispositivi non disponibili

Dopo il controllo, questo comando elimina solo i record senza runtime. Non disinstalla alcun runtime.

```bash
xcrun simctl delete unavailable
```

## Cancellare le cache dei simulatori e i dati delle app

Per azzerare lo stato di test di un dispositivo specifico, avvialo in Simulator e scegli **Device > Erase All Content and Settings**. Il runtime condiviso rimane, ma app, Portachiavi e database del dispositivo vengono eliminati.

<figure class="blog-diagram">
  <img src="https://mole.fit/img/blog/xcode-storage-map.webp" width="1360" height="454" loading="lazy" alt="La cartella developer di Xcode divisa in cache ricostruibili, DerivedData e module cache, e artefatti catturati, DeviceSupport, Archives e simulatori">
  <figcaption>L'impronta di Xcode si divide in output riproducibile e artefatti acquisiti. Archives e dSYM possono restare operativamente importanti a lungo dopo la distribuzione di una build.</figcaption>
</figure>

## Gestire separatamente DeviceSupport, DerivedData e Archives

DerivedData si può ricreare, ma una pulizia totale costringe tutti i progetti a ricompilarsi e reindicizzarsi. DeviceSupport può servire per dispositivi reali; Archives e dSYM di build distribuite possono servire per analizzare crash futuri. Mole elenca i runtime sostituiti e rimuove la selezione tramite `simctl runtime delete`. Gestisci dispositivi e archivi in Xcode.

## Scegli DeviceSupport secondo dispositivi e crash

Una data vecchia non basta. Controlla quali dispositivi usi ancora e quali crash restano da analizzare.

## Conserva gli Archives delle versioni usate

Conserva l’archivio di una versione ancora in uso, a meno che tu non abbia già altrove una copia verificata del dSYM e della build.

## Una sequenza sicura e ripetibile

Chiudi Xcode, Simulator e le build, poi misura separatamente le cinque categorie. Rimuovi in Xcode i vecchi runtime confermati inutili, controlla i dispositivi e solo allora esegui `xcrun simctl delete unavailable`. Gestisci DerivedData per vecchio progetto, DeviceSupport secondo dispositivi e crash, Archives in Organizer secondo le versioni ancora distribuite. Misura di nuovo e fermati quando lo spazio basta.

## Il limite di Mole

Mole rimuove solo runtime vecchi dichiarati eliminabili da Apple, mai stati dei dispositivi o archivi.

## Domande frequenti

### L'eliminazione di un simulatore cancellerà il codice del mio progetto?
Il codice sorgente resta intatto, ma le app e lo stato di test del dispositivo virtuale vengono eliminati.

### È sicuro eliminare la cartella iOS DeviceSupport?
Non trattare tutto DeviceSupport come una cache. I dati di vecchie versioni possono servire per il debug o la simbolizzazione dei crash.

### Mole trova i vecchi simulatori?
Mole elenca i runtime scaricati che sono stati sostituiti e rimuove quelli scelti con `simctl`. Non cancella a mano le altre cartelle CoreSimulator; svuota solo la cache di sistema rigenerabile `/Library/Developer/CoreSimulator/Caches`, e soltanto quando nessun simulatore è in esecuzione.

---

Canonical HTML page: https://mole.fit/it/blog/how-to-clean-up-ios-simulator-mac
Blog index for agents: https://mole.fit/it/blog/llms.txt
Site index for agents: https://mole.fit/llms.txt
