2011-11-10 20 views
68

En el desarrollo de cada aplicación, en el desarrollo de cada aplicación, lo que ve en el simulador no coincide con lo que cree que debería suceder. En su mayoría, estos son errores humanos, o al menos lo son en la mayoría de los casos my ;-) - pero a veces Xcode simplemente 'perdió la pista', o eso parece. Aprendí que las opciones del menú Clean (Mayús + Cmd + K) y Clean Build Folder… (Opción + Mayús + Comando + K) pueden mostrar la diferencia entre su error o Xcode.XCode 4 "Limpiar" vs. "Limpiar carpeta de compilación"

Mi pregunta sin embargo es:

¿Qué hacer o no hacer el comando Clean, lo que deja una razón para Clean Build Folder… de existir? ¿Cuándo debo escoger uno sobre el otro, por qué no solo siempre limpio toda la carpeta?

+0

Usted puede encontrar algunas respuestas en [esta pregunta potencialmente duplicar] (http://stackoverflow.com/questions/ 5714372/how-to-empty-caches-and-clean-all-targets-xcode-4). –

+1

Puede haber algunas pistas ocultas, pero no es una pregunta duplicada. El mío es sobre las diferencias entre la carpeta clean y clean build, dos comandos muy similares. Pero gracias por el aviso. – epologee

Respuesta

70

Clean… limpia las carpetas para el objetivo seleccionado actual.
Clean Build Folder… limpia las carpetas para todos los objetivos.

+0

Esta debería ser la respuesta aceptada. –

+4

Esto es ambiguo con ese apóstrofo en "todas las carpetas del destino". ¿Quiere decir "las carpetas para todos los destinos o hay alguna otra carpeta asociada con el objetivo seleccionado? –

+0

Esta es la respuesta. Limpia carpeta de compilación soluciona problemas en proyectos con un solo objetivo. –

84

Si selecciona Clean en el menú Producto, XCode eliminará los archivos dentro de cada carpeta en la carpeta Build, si selecciona Clean Build Folder, eliminará toda la carpeta Build.

Después Clean comando:

enter image description here Después Clean Build Folder comando:

enter image description here

Creo que hay que seleccionar Clean Build Folder cuando se quiere construir un binario que desea liberar a la AppStore, cuando te equivocaste con tu proyecto o cuando tu aplicación no funciona por un motivo "desconocido"; de lo contrario, usa Clean.

espero haber respondido a su pregunta: D

+2

¡Respuesta muy clara, gracias! Y un +1 para las imágenes :) – epologee

+3

Lamento ser escéptico, pero esto parece extraño. ¿Está diciendo que la única diferencia entre los dos es que uno borra las carpetas y el otro mantiene las carpetas pero elimina todos los contenidos? ¿Qué sería? la diferencia en tener cuatro carpetas vacías? Sin embargo, hay una diferencia notable entre la limpieza y, a veces, tener que limpiar carpetas de compilación ... – jowie

+3

Sí, esa es la única diferencia. Personalmente uso "Limpiar" antes de compilar una aplicación para el simulador de iOS o cuando Tengo problemas extraños con el código y/o XCode y "Clean Build Folder" cuando quiero publicar una aplicación en la App Store o cuando quiero asegurarme de que mi pp es construir desde cero sin cachés. – Aluminum

4

Si selecciona "limpio", Xcode eliminará los archivos dentro de cada carpeta en la carpeta Generar, para el objetivo actual (por ejemplo, los productos, productos intermedios.). Los archivos para otros objetivos permanecen.

Si selecciona "Limpiar carpeta de compilación", Xcode eliminará toda la carpeta compilación, por lo que no queda nada.

En la mayoría de los casos "limpio" funcionará por razones "desconocidas", pero todavía tiene que "limpiar la carpeta de compilación" porque Xcode no eliminará los archivos en el incluyen carpeta dentro productos carpeta.

0

Algunos archivos en ~/Library/Developer/Xcode/DerivedData/xxx-ABCD, donde xxx es el nombre de su proyecto o área de trabajo, se han eliminado después de Clean o Clean Build Folder.... Obviamente, Clean Build Folder... eliminará más archivos que Clean. Sin embargo, creo que en algún caso es necesario eliminar la carpeta que mencioné anteriormente, como que su Xcode no puede funcionar correctamente.

Por cierto, algo ha cambiado para Xcode 8, Build carpeta se mantiene de todos modos después de Clean Build Folder...