Xcode ocupa demasiado espacio: qué puedes borrar sin riesgo
Xcode ya ocupa varios GB por sí solo, y lo que va dejando atrás suele crecer mucho más: carpetas de compilación, simuladores, runtimes del simulador y símbolos de depuración de cada dispositivo que has conectado.
En resumen: DerivedData, las carpetas Device Support, los simuladores de las vistas previas y los simuladores que ya no usas se pueden borrar sin riesgo: Xcode los vuelve a compilar o a descargar cuando los necesita. Conserva tus Archives salvo que tengas claro que no los vas a necesitar.
¿Dónde guarda Xcode todos esos datos?
~/Library/Developer/Xcode/DerivedData: resultados de compilación e índices de cada proyecto que has abierto. Seguro: se regenera en la siguiente compilación, que esa vez irá más lenta.~/Library/Developer/Xcode/iOS DeviceSupport(y las dewatchOS,tvOS,macOSyvisionOS): símbolos de depuración copiados de cada dispositivo y versión del sistema que has conectado. Seguro: se vuelven a copiar la próxima vez que conectes ese dispositivo.~/Library/Developer/CoreSimulator/Devices: tus simuladores, con las apps y los datos instalados en ellos. Los simuladores cuyo runtime ya no existe son peso muerto.- Runtimes del simulador (un iOS, watchOS o visionOS completo para el simulador, de varios GB cada uno). macOS los cuenta como Datos del sistema, no como Xcode.
~/Library/Developer/Xcode/UserData/Previews: simuladores creados para las vistas previas de SwiftUI. Seguro: se vuelven a crear automáticamente.~/Library/Developer/CoreSimulator/Cachesy~/Library/Developer/XCTestDevices: cachés del simulador y los clones que se crean para ejecutar tests en paralelo. Seguro.~/Library/Developer/Xcode/Archives: cada compilación que archivaste para la App Store o TestFlight. Revisar: lo explicamos más abajo.
¿Cómo borro la carpeta DerivedData?
- Sal de Xcode.
- En el Finder, elige Ir › Ir a la carpeta (Mayúsculas + Comando + G) y pega
~/Library/Developer/Xcode/DerivedData. - Selecciona las carpetas que hay dentro y muévelas a la Papelera. Para liberar el espacio, vacía la Papelera.
En Terminal, esto hace lo mismo pero sin pasar por la Papelera, así que no se puede deshacer:
rm -rf ~/Library/Developer/Xcode/DerivedData/*
¿Cómo elimino simuladores y runtimes del simulador que ya no uso?
Deja que lo haga la propia herramienta de Xcode, para que su lista de simuladores siga siendo correcta:
xcrun simctl delete unavailable
xcrun simctl runtime list
xcrun simctl runtime delete <runtime identifier>
La primera línea elimina los simuladores cuyo runtime ya no está instalado. Las otras dos muestran los runtimes instalados y eliminan uno con el que ya no haces pruebas. También puedes eliminar un runtime en Xcode › Settings › Components (Platforms en versiones antiguas de Xcode), y simuladores sueltos en Window › Devices and Simulators.
¿Es seguro borrar iOS DeviceSupport?
Sí. Cada carpeta contiene los símbolos de un dispositivo y una versión del sistema, para que Xcode pueda mostrar trazas de pila legibles mientras depuras en él. Borra las carpetas de las versiones que tus dispositivos ya no usan. Si vuelves a conectar uno de esos dispositivos, Xcode copia de nuevo los símbolos, lo que tarda unos minutos.
¿Debería borrar los Archives de Xcode?
Solo aquellos de los que estés seguro. Un archive contiene la compilación exacta que publicaste y sus símbolos de depuración (dSYM). Sin él, no puedes convertir los informes de fallos de esa versión en trazas de pila legibles ni volver a exportar esa compilación. Una buena regla es conservar los archives de las versiones que la gente sigue usando.
¿Por qué vuelve a llenarse el espacio una semana después?
DerivedData vuelve a crecer con cada compilación, y cada nueva versión de Xcode o de iOS trae runtimes y Device Support nuevos. Es normal: estas carpetas son cachés. Basta con vaciarlas de vez en cuando, o cuando el disco se quede sin espacio.