Diferencia entre limpieza y eliminación de la carpeta DerivedData

¿Cuál es la diferencia real entre ambas acciones?

Pregunto porque encuentro que la limpieza (Cmd-Shift-K) es lenta, toma el time y borra toda la carpeta DerivedData mucho más rápido.

Más información

1) Configuré mi carpeta DerivedData para que esté en una carpeta relativa a la carpeta de mi proyecto en las preferences de XCode.

2) Generalmente trato con proyectos con un solo objective. Muy raramente tengo que lidiar con 2 o más objectives.

Esto se explica en el artículo User Loaf's sobre Xcode 4 DerivedData y Cleaning the Build Directory .

En Xcode 4, la opción de menu Producto> Limpiar limpia el directory de compilation para todos los objectives eliminando los files app y dSYM junto con los encabezados precomstackdos.

DerivedData por otro lado contiene otras cosas:

Cada espacio de trabajo obtiene un set único de índices de símbolos, productos de construcción, layouts de windows, etc., a los que Xcode hace reference como datos derivados.

Por lo tanto, la respuesta si desea realmente limpiar todo es usar la nueva acción Carpeta de compilation limpia de Xcode 4 seleccionando el menu Producto mientras mantiene presionada la tecla Opción . Eso también eliminará los contenidos de DerivedData:

introduzca la descripción de la imagen aquí

  1. La limpieza es más lenta, ya que elimina el file por file, no toda la carpeta
  2. Después de eliminar la carpeta DerivedData obtendrás una desaceleración, porque XCode tiene que volver a crear índices para tus fonts.
  3. Hay un command "Carpeta de compilation limpia …" (Opción-Cmd-Mayús-K, o select el menu Producto y presione el button Opción). Elimina las carpetas, no los files, por lo que puede ser más rápido para usted.