Por qué Xcode ocupa tanto espacio y cómo recuperarlo
Xcode en sí es grande, pero la mayor parte del espacio que usa está fuera de la app: resultado de compilación en DerivedData, archivos de símbolos de cada versión de iOS que has conectado, dispositivos y runtimes del simulador y archives de cada compilación que publicaste. Casi todo está en ~/Library/Developer, y la mayor parte se puede regenerar.
Abajo están las carpetas exactas, el comando o menú que vacía cada una y qué te cuesta borrarla. Cierra Xcode y Simulator antes de empezar.
Mira adónde se va el espacio
Antes de borrar nada, mide. Este comando muestra el tamaño de cada carpeta que Xcode y Simulator guardan en tu Biblioteca. Solo lee tamaños.
En la mayoría de los equipos de desarrollo, las primeras entradas son CoreSimulator y Xcode, y dentro de Xcode las carpetas más grandes son DerivedData, iOS DeviceSupport y Archives.
du -sh ~/Library/Developer/* ~/Library/Developer/Xcode/* 2>/dev/null | sort -hDerivedData: resultado de compilación e índices
Ruta: ~/Library/Developer/Xcode/DerivedData. Xcode crea aquí una carpeta por proyecto o workspace, con los objetos compilados, la caché de módulos, el índice de código, los registros de compilación y los paquetes de Swift que descargó para ese proyecto. Las carpetas de proyectos que borraste hace tiempo se quedan ahí.
Es lo más seguro de eliminar y normalmente lo más grande. El comando de abajo borra todo lo que hay dentro de DerivedData, de todos los proyectos. También puedes abrir la carpeta en el Finder y eliminar solo los proyectos en los que ya no trabajas.
Qué cuesta: la siguiente compilación de cada proyecto es completa, Xcode vuelve a indexar el código y los paquetes de Swift se resuelven de nuevo. No pierdes código fuente ni ajustes.
rm -rf ~/Library/Developer/Xcode/DerivedData/*DeviceSupport: símbolos de los dispositivos que conectaste
Ruta: ~/Library/Developer/Xcode/iOS DeviceSupport, con carpetas equivalentes para watchOS, tvOS y visionOS. La primera vez que conectas un dispositivo con una versión determinada del sistema operativo, Xcode copia los símbolos de sistema de esa versión para poder depurar en el dispositivo y simbolizar los registros de fallos. Cada actualización del sistema en cada dispositivo añade otra carpeta, de varios GB cada una, y Xcode nunca elimina las antiguas.
Abre la carpeta en el Finder y traslada a la Papelera las versiones que ya no usas. Los nombres de las carpetas incluyen la versión del sistema y el número de compilación, así que es fácil ver cuáles son antiguas.
Qué cuesta: si conectas un dispositivo con una versión que eliminaste, Xcode copia de nuevo los símbolos, lo que tarda unos minutos. Conserva las versiones que usan tus dispositivos actuales.
Dispositivos y cachés del simulador
Ruta: ~/Library/Developer/CoreSimulator/Devices. Cada simulador es una carpeta con un conjunto completo de datos de ese dispositivo: apps instaladas, sus documentos, fotos y ajustes. Después de actualizar Xcode, los simuladores que pertenecían a runtimes que ya no tienes se quedan como dispositivos no disponibles. El comando de abajo elimina solo esos.
Para restablecer los simuladores que conservas, xcrun simctl erase all borra el contenido y los ajustes de todos los simuladores, pero deja los dispositivos en su sitio. Qué cuesta: las apps y los datos de prueba que haya dentro de esos simuladores.
~/Library/Developer/CoreSimulator/Caches contiene cachés que Simulator genera para cada runtime. Es seguro borrarla mientras Simulator está cerrado. Qué cuesta: el siguiente arranque de cada simulador es más lento mientras se regenera la caché.
xcrun simctl delete unavailableRuntimes antiguos del simulador
Un runtime es el propio sistema operativo simulado, por ejemplo una versión concreta de iOS. Cada uno ocupa varios GB, y se acumulan a medida que instalas versiones nuevas de Xcode. Se guardan en /Library/Developer/CoreSimulator, que es de todo el sistema, no en tu carpeta de inicio, y hay que eliminarlos desde Xcode o con simctl, no a mano.
En Xcode, abre Settings y elige Components (llamado Platforms en Xcode 15). Selecciona un runtime con el que ya no hagas pruebas y bórralo. Desde Terminal, el comando de abajo muestra los runtimes instalados con sus identificadores, y xcrun simctl runtime delete seguido de un identificador elimina uno.
Qué cuesta: no puedes ejecutar simuladores de esa versión del sistema hasta que descargues de nuevo el runtime, que es una descarga grande.
xcrun simctl runtime listArchives: piénsalo antes de borrar
Ruta: ~/Library/Developer/Xcode/Archives. Cada vez que seleccionas Product y después Archive, Xcode guarda la app compilada junto con sus símbolos de depuración (archivos dSYM). Los archives se agrupan en carpetas por fecha.
Gestiónalos desde el Organizer de Xcode: selecciona Window, después Organizer, elige Archives, haz clic derecho en un archive y bórralo.
Qué cuesta: este es el único elemento que no puedes regenerar de forma exacta. Necesitas los dSYM de un archive para simbolizar los informes de fallos de esa compilación, y el propio archive si tienes que exportarlo o volver a enviarlo. Conserva los archives de las versiones que siguen publicadas y elimina las compilaciones antiguas de desarrollo y de prueba.
Cachés de paquetes de Swift y previsualizaciones
Swift Package Manager mantiene una caché compartida de los repositorios que ha clonado en ~/Library/Caches/org.swift.swiftpm. El comando de abajo, ejecutado desde dentro de cualquier carpeta de paquete, la vacía. Qué cuesta: los paquetes se descargan de nuevo en la siguiente resolución.
Las previsualizaciones de SwiftUI se ejecutan en su propio conjunto de simuladores, guardados en ~/Library/Developer/Xcode/UserData/Previews. Para eliminarlos, ejecuta xcrun simctl --set previews delete all. Qué cuesta: la siguiente previsualización tarda más en aparecer mientras Xcode vuelve a crear el dispositivo.
Si usas CocoaPods o Carthage, tienen sus propias cachés fuera de las carpetas de Xcode.
swift package purge-cacheCómo trata Diskzy los restos de Xcode
La pestaña Clean up (Limpieza) de Diskzy encuentra estas carpetas y decide un valor por omisión para cada una, mostrando el motivo. DerivedData aparece marcada, salvo que Xcode esté abierto. En DeviceSupport, las dos versiones más recientes se conservan y las anteriores aparecen marcadas. CoreSimulator Caches aparece marcado. CoreSimulator Devices aparece sin marcar, porque son tus simuladores y los datos de sus apps. Los Archives aparecen en la lista pero sin marcar, para que conserves los que quizá tengas que volver a enviar.
Todo lo que Diskzy elimina va a la Papelera, así que nada desaparece hasta que la vacías. Es una app nativa para Mac, para macOS 15 Sequoia o posterior, gratis durante 72 horas con todo desbloqueado, y después cuesta $9 una sola vez para 2 Mac.
Preguntas frecuentes
- ¿Es seguro borrar DerivedData de Xcode?
- Sí. Solo contiene resultado de compilación, índices y registros que Xcode regenera. La siguiente compilación de cada proyecto tardará más porque no hay nada en caché.
- ¿Puedo borrar la carpeta iOS DeviceSupport?
- Sí. Xcode copia de nuevo los símbolos la próxima vez que conectas un dispositivo con esa versión del sistema. Lo sensato es conservar las versiones que usan tus dispositivos actuales.
- ¿Qué hace xcrun simctl delete unavailable?
- Elimina los dispositivos del simulador cuyo runtime ya no está instalado, que normalmente son restos de versiones anteriores de Xcode. Los simuladores que todavía puedes ejecutar no se tocan.
- ¿Debería borrar los archives de Xcode?
- Solo los que ya no necesites. Un archive contiene los símbolos de depuración que se usan para simbolizar los informes de fallos de esa compilación, así que conserva los archives de las versiones que siguen usando tus clientes.
- ¿Por qué Xcode vuelve a ocupar espacio después de limpiarlo?
- DerivedData y las cachés del simulador se regeneran en cuanto compilas y ejecutas un proyecto. Es lo esperado: el ahorro viene de eliminar los datos de proyectos antiguos, versiones antiguas del sistema y simuladores sin usar.
Guías relacionadas
- DerivedData~/Library/Developer/Xcode/DerivedData
- iOS DeviceSupport~/Library/Developer/Xcode/iOS DeviceSupport
- CoreSimulator Devices~/Library/Developer/CoreSimulator/Devices
- CoreSimulator Caches~/Library/Developer/CoreSimulator/Caches
- Xcode Archives~/Library/Developer/Xcode/Archives
Guías de desinstalación
Descubre adónde se fue el espacio de tu Mac
Diskzy hace un mapa de tu disco, explica los Datos del sistema y limpia lo que es seguro. Gratis durante 72 horas, después $9 una sola vez para 2 Mac.
Prueba Diskzy gratis