Todos los desarrolladores de iOS, macOS, watchOS y visionOS comparten la misma pesadilla recurrente: despertarse con una alerta que indica que a su Mac le quedan menos de 5 GB de espacio en disco. No has descargado ningún juego ni película. Entonces, ¿adónde se fue tu SSD de 512 GB? En el 95% de los casos, el culpable es Xcode DerivedData y las cachés de compilación.

Durante la compilación activa, Xcode genera archivos de objetos intermedios, encabezados precompilados, tablas de símbolos de indexación y cachés de módulos del compilador. Después de meses de crear diferentes ramas y dependencias, estas carpetas nunca se autopodan. A continuación se explica cómo recuperar de 50 GB a 100 GB de espacio en disco de desarrollador de forma limpia y segura.

Datos derivados de Xcode y optimización de la caché de compilación
Purgar de forma segura productos de construcción intermedia y gráficos de símbolos en Apple Silicon.

Dónde oculta Xcode sus pesados cachés de disco

Xcode distribuye sus productos de compilación temporales y archivos de soporte en cinco directorios principales:

  • DerivedData (~/Library/Developer/Xcode/DerivedData): archivos de objetos intermedios, bases de datos de índice y productos de compilación. Consume entre 20 GB y 60 GB.
  • iOS DeviceSupport (~/Library/Developer/Xcode/iOS DeviceSupport): símbolos de cada iPhone o iPad físico que haya conectado. Consume entre 5 GB y 15 GB por versión de iOS.
  • Archivos (~/Library/Developer/Xcode/Archives): compilaciones antiguas de .xcarchive guardadas al crear versiones de producción de App Store. Puede crecer hasta 40 GB o más en un año.
  • Caché del Administrador de paquetes Swift (~/Library/Caches/org.swift.swiftpm): Repositorios git clonados y archivos binarios de pago compilados para dependencias de SPM.
  • XCTestDevices (~/Library/Developer/XCTestDevices): clones de simuladores temporales huérfanos creados durante ejecuciones de pruebas en paralelo.

¿Es seguro eliminar datos derivados?

Sí, absolutamente. DerivedData es 100 % regenerable. La próxima vez que abra un proyecto y presione Cmd+B, Xcode volverá a indexar su código y compilará los archivos objeto necesarios. El único coste es un tiempo de construcción inicial ligeramente mayor en la primera ejecución.

Eliminación manual a través de Terminal frente a MagicMacCleaner

Puede eliminar DerivedData manualmente saliendo de Xcode y ejecutando: rm -rf ~/Library/Developer/Xcode/DerivedData/*. Sin embargo, la eliminación manual del terminal borra todos tus proyectos a la vez, incluso aquel en el que estás trabajando en este momento.

El módulo Xcode Deep Clean dedicado de MagicMacCleaner resuelve esto leyendo la fecha de modificación de cada subcarpeta del proyecto. Le permite mantener intactos los proyectos activos mientras purga los clientes inactivos y los repositorios heredados con un solo clic.

Flujo de trabajo para desarrolladores móviles: liberar almacenamiento en iPhones de prueba física

Si bien borrar cachés de Xcode, tiempos de ejecución de simuladores y contenedores de compilación libera espacio vital en su Mac, los dispositivos físicos de prueba de iOS se obstruyen rápidamente con compilaciones de prueba, artefactos de fallas, grabaciones de pantalla de diagnóstico y capturas de pantalla de control de calidad. Mantener su hardware de pruebas físicas optimizado es esencial para una depuración rápida en el dispositivo y una implementación confiable.

  • Clearly Smart Storage Cleaner: comprime grabaciones de pantalla de informes de errores de gigabytes, detecta medios de prueba duplicados y organiza contactos desordenados en iPhones personales y de desarrollo.
  • Swipe Photo Cleaner: revise y elimine rápidamente cientos de capturas de pantalla de prueba de IU y ráfagas de demostración con gestos sencillos de deslizar para eliminar.

Consejo para desarrolladores del ecosistema Apple: pruebe la optimización del dispositivo

El bajo almacenamiento en los dispositivos iOS conectados puede causar tiempos de espera de implementación inalámbrica de Xcode y fallas de depuración de LLDB. La limpieza periódica de medios en el dispositivo evita errores crípticos de implementación de compilaciones.