¿Cómo puedo eliminar de forma segura en mi directorio ~ / Library / Developer / Xcode / DerivedData?

90

Me gustaría eliminar datos antiguos (¿reemplazables?) Y el contenido de DerivedData parece un candidato probable. Dado que su nombre DerivedData , supongo que es información que, si falta, se generaría durante una fase de compilación y, si está presente, se usa durante esa misma fase. Parece lógico entonces que pueda eliminar cualquier dato de proyecto antiguo sin miedo y si alguna vez construyera ese proyecto antiguo, la primera vez que lo completara tomaría más tiempo de lo normal, ya que tiene que recrear todos estos datos derivados.

¿Me equivoco aquí?

soob
fuente
8
Sea MUY CONSCIENTE de que, como explica Joshua, esa maldita carpeta contiene "datos dSYM para una depuración posterior ... no elimine si desea poder depurar versiones implementadas de su aplicación"
Fattie
Quizás debería usar todos los trucos de marcado SO además del énfasis para señalar ese punto en mi respuesta. :-D Bloque de cita-estrellas-barra-comentó-código-negrita-cursiva-lista con viñetas, etc.
Joshua Nozzi
17
@JoeBlow en realidad, como explica Joshua, es el directorio de archivos que contiene "datos dSYM para su posterior depuración". El directorio Archives es hermano del directorio DerivedData , lo que significa que está al mismo nivel, debajo ~/Library/Developer/Xcode, que DerivedData , por lo que "esa maldita carpeta" (DerivedData) NO contiene los datos dSYM y su contenido se puede eliminar de forma segura.
mluisbrown
4
Cada vez que publico una nueva versión, copio el .xcarchive de Xcode en mi repositorio de git y lo mantengo bajo el control de la versión; esta es una buena manera de poder obtener siempre .dSYM antiguos sin depender de los directorios Xcode de una máquina en particular.
Bill

Respuestas:

123

La carpeta Derived Data contiene toda la información de compilación intermedia, los objetivos de depuración y publicación, así como el índice de su proyecto. Es útil eliminar los datos derivados cuando tiene problemas de índice extraños (la finalización del código no funciona correctamente, reindexación constante o incluso solo un proyecto lento). Al eliminar toda la carpeta, esta información se aplica a todos los proyectos que conoce Xcode 4.

La carpeta Archives (un hermano de Derived Data) contiene la forma archivada de sus destinos. Es decir, una versión de versión y datos dSYM para su depuración posterior. No debe eliminarlo si desea poder depurar versiones implementadas de su aplicación.

Puede destruir los datos derivados de un proyecto determinado abriendo la ventana Organizador y seleccionando la pestaña Proyectos. Seleccione el proyecto deseado y haga clic en el botón Eliminar junto a la ruta de datos derivados. Esto es más un "golpe quirúrgico" para proyectos problemáticos.

Joshua Nozzi
fuente
1
Por supuesto. Vaya a la línea de comando y escriba "man rm" - enloquezca. :-)
Joshua Nozzi
9
Suspiro. Yo sé rm. Quería encontrar una manera de resolver la carpeta conectada con el proyecto, por ejemplo ~/Library/Developer/Xcode/DerivedData/MyProject-hghjhjhkjh/. La forma más fácil que encontré es establecer la carpeta DerivedData en relación con la carpeta del proyecto, a través de las preferencias de XCode.
asgoth
4
Solo una nota rápida: en XCode 6.x , projectsestán en su propia ventana (no en el Organizador).
Olie
1
Me gusta tu jerga militar XD
Josh
1
FWIW una gran cantidad de herramientas de distribución nuevas (AppCenter, HockeyApp, Crashlytics, etc.) le piden que entregue los archivos dSYM para que no tenga que almacenarlos usted mismo.
Miel
38

El contenido de 'Datos derivados' se genera durante el tiempo de compilación. Puede eliminarlo de forma segura. Siga los pasos a continuación para eliminar 'Datos derivados':

  1. Seleccione Xcode -> Preferencias ...

Paso 1

  1. Esto abrirá una ventana emergente. Seleccione la pestaña ' Ubicaciones '. En la subpestaña Ubicaciones, puede ver ' Datos derivados '. Haga clic en el icono de flecha junto a la ruta.

Paso 2

  1. Esto abrirá la carpeta que contiene 'Datos derivados' Haga clic con el botón derecho y Eliminar carpeta.

Paso 3

Jayprakash Dubey
fuente
Entonces, cuando mi aplicación está en el simulador pero no se ejecuta desde el código y si elimino y luego ejecuto nuevamente desde el código, ¿causará algún problema?
Manthan
@Manthan: No, eso no creará ningún problema.
Jayprakash Dubey
30

Sí, esos datos se generan durante el tiempo de compilación y puede eliminarlos si lo desea, no es un problema.

Se volverá a crear cuando vuelva a construir.

amrit_neo
fuente