Guías de Levo · Desarrolladores: Apple

¿Por qué Xcode ocupa tanto? What’s safe to delete

La lista Ready to free de Levo con los datos de compilación de Xcode abiertos, y debajo los simuladores y emuladores y los archivos de soporte de dispositivos

La app de Xcode es solo una parte. El peso real está en ~/Library/Developer: datos de compilación, simuladores, runtimes descargados y símbolos de depuración de cada dispositivo que has conectado. Casi todo vuelve a generarse, así que puedes borrarlo. Las dos excepciones son los archivos (archives) y los datos de los simuladores que aún usas.

QuéDónde¿Se puede borrar?
Xcode.app/Applications/Xcode.appLas versiones antiguas, sí. Conserva la que usas
Datos de compilación~/Library/Developer/Xcode/DerivedDataSí, se regeneran en la siguiente compilación
Simuladores~/Library/Developer/CoreSimulator/DevicesSí, pero también se van los datos de las apps que contienen
Runtimes de simuladores/Library/Developer/CoreSimulator (imágenes de disco)Sí, se vuelven a descargar cuando hacen falta
Device support~/Library/Developer/Xcode/iOS DeviceSupportSí, se copian de nuevo al conectar
Archives~/Library/Developer/Xcode/ArchivesSolo si la compilación ya está publicada y sus símbolos están guardados en otro sitio
Cachés~/Library/Caches/com.apple.dt.XcodeSí
Previsualizaciones de SwiftUI~/Library/Developer/Xcode/UserData/PreviewsSí
Herramientas de línea de comandos/Library/Developer/CommandLineToolsSolo si tienes Xcode completo y no las necesitas por separado

Cómo hacerlo tú mismo

Mide primero las carpetas para dedicar el tiempo a las grandes:

du -sh ~/Library/Developer/Xcode/* ~/Library/Developer/CoreSimulator /Library/Developer/CoreSimulator 2>/dev/null
  1. Cierra Xcode y borra el contenido de DerivedData. Consulta cómo borrar DerivedData.
  2. Quita los simuladores y runtimes que no uses con xcrun simctl, o en Xcode › Settings › Components. Consulta cómo borrar simuladores antiguos.
  3. Abre iOS DeviceSupport y borra las carpetas de las versiones de iOS que tus dispositivos ya no usan. Consulta qué es DeviceSupport.
  4. Limpia las cachés de paquetes con los comandos de cachés de SwiftPM y CocoaPods.
  5. Abre Xcode › Window › Organizer › Archives y mira lo que hay. Los archives son la única copia de la compilación exacta que enviaste a App Store Connect, y los dSYM de dentro son lo que simboliza sus informes de fallos. Borra los antiguos solo cuando tengas esos símbolos en otro sitio.

Las versiones antiguas de Xcode en /Applications ocupan entre 12 y 15 GB cada una. Bórralas en Finder, no apartando la carpeta Developer arrastrándola.

Lo que cuesta recuperar cada cosa

Lo más barato de perder es DerivedData: una compilación más lenta por proyecto. Los runtimes de simuladores cuestan una descarga de varios gigabytes y unos minutos, así que conserva solo las versiones de iOS que tu app admite. Los device support cuestan una breve espera la próxima vez que conectes un iPhone.

Los archives son distintos. Los archivos dSYM de dentro convierten un informe de fallos sin procesar de una versión antigua en líneas legibles. Si subes los dSYM a tu herramienta de informes de fallos al publicar, el archive es solo un zip grande que puedes borrar. Si no, conserva el archive de cada versión que siga en circulación.

Las propias actualizaciones de Xcode también son una causa silenciosa. Cada versión nueva instalada junto a la anterior añade de 12 a 15 GB, y las betas de Xcode se acumulan encima. Borra las copias antiguas en Finder, vacía la Papelera y el espacio vuelve al instante. Si un Mac está casi lleno, haz esto antes que nada, porque un disco lleno hace que la indexación y las compilaciones de Xcode fallen de maneras extrañas.

Cómo lo hace Levo

Levo muestra los datos de compilación de Xcode, los device support, los simuladores y las cachés de paquetes como filas separadas con su tamaño, para que veas cuál de los anteriores son tus 80 GB. Los datos de compilación y las cachés se marcan primero cuando el proyecto es antiguo o ya no existe. Las versiones antiguas de Xcode y los archives aparecen en la lista, pero Levo nunca los marca por ti.

Levo quita los simuladores con el propio simctl de Xcode y se salta los datos de compilación mientras Xcode, xcodebuild o un simulador arrancado estén en marcha. Consulta Levo para desarrolladores de iOS y Mac.

Preguntas frecuentes

¿Por qué Xcode ocupa 100 GB?

Por lo que guarda fuera de la app: datos de compilación por proyecto, simuladores y sus runtimes, símbolos de depuración de cada dispositivo que conectaste y archives. La app en sí ocupa unos 15 GB.

¿Puedo borrar la carpeta Library/Developer de Xcode?

La carpeta entera no. Limpia DerivedData, los dispositivos de CoreSimulator y DeviceSupport que hay dentro, pero deja Archives y la carpeta UserData, que guarda tus atajos de teclado y temas, salvo que quieras perderlos.

¿Borrar DerivedData estropeará mis proyectos?

No. Tu código fuente y los ajustes del proyecto no están ahí. La siguiente compilación es más lenta mientras Xcode reconstruye y vuelve a indexar.

¿Se pueden borrar sin riesgo los runtimes de simuladores?

Sí. Son descargas, así que Xcode las baja de nuevo cuando un proyecto necesita una. Borrar un dispositivo simulado elimina los datos de las apps que contiene.