2011-04-19 7 views
204

Jonathan sugiere aquí: Xcode Includes .xib files that have been deleted! que limpiar todos los destinos y vaciar las cachuras solucionará el problema con Xcode, incluidos los archivos .xib eliminados, pero no puedo encontrar la manera de vaciar la caché en Xcode 4.Cómo vaciar las cachés y limpiar todos los destinos Xcode 4 y posteriores

¿Cómo hacer eso en Xcode 4?

+0

Aquí es mi [solución de script shell] [1], que elimina los datos derivados, tanto para xCode 5 y 6. [1]: http://stackoverflow.com/a/27977848/1231948 – Sheamus

Respuesta

466

Command-Option-Shift-K para limpiar la carpeta de compilación. Mejor aún, salga de Xcode y limpie manualmente ~/Library/Developer/Xcode/DerivedData. Elimine todos sus contenidos porque hay un error por el cual Xcode ejecutará una versión anterior de su proyecto que está en alguna parte. (Xcode 4.2 le mostrará la carpeta Derived Data: elija Window> Organizer y cambie a la pestaña Projects. Haga clic en la flecha derecha a la derecha del nombre de la carpeta Derived Data.)

En el simulador, seleccione iOS Simulator> Restablecer contenido y configuración.

Finalmente, para completar, puede eliminar los contenidos de /var/folders; algo de almacenamiento en caché también ocurre allí.

ADVERTENCIA: Eliminar /var/folders puede causar problemas, y es posible que deba reparar o reinstalar su sistema operativo después de hacerlo.

EDIT: Acabo de saber que si usted tiene miedo de luchar con /var/carpetas/ se puede utilizar el siguiente comando en el terminal para eliminar de una manera más específica:

rm -rf "$(getconf DARWIN_USER_CACHE_DIR)/org.llvm.clang/ModuleCache" 

EDITAR : Para ciertos problemas relacionados con Swift, he encontrado útil eliminar ~/Library/Caches/com.apple.dt.Xcode. Pierde mucho cuando hace esto, como las copias de repuesto de los conjuntos de documentos de documentación descargados, pero puede valer la pena.

+5

Agradable, limpiando la ruta: ¡Biblioteca/Desarrollador/Xcode/DerivedData + restablece el contenido y la configuración del simulador! – Tieme

+9

La ruta parece estar en mi directorio de inicio (nota tilde): ~/Library/Developer/Xcode/DerivedData Quizás esto era obvio para otros, pero en caso de que alguien más tenga el problema ... –

+25

Hehe, siendo un übern00b borré/var/db donde encontré algo que vino de Xcode/mi proyecto. Eso me costó cinco horas de papeleo en el sistema de archivos, reparación y reinstalación de Lion, etc. ¡Ten cuidado! :-) –

53

Command-Option-Shift-K debería hacerlo. Alternativamente, vaya al menú del producto, presione la tecla de opción, ahora la opción "Limpiar" cambiará a "Limpiar carpeta de compilación ..." seleccione esa opción.

+0

No, qué mal ... Acabo de cambiar y renombrar un archivo xib y limpiar la aplicación como dijiste, pero todavía funciona bien sin errores. – Tieme

+2

¡Guau, nunca hay novedades sobre ese truco clave alt para los menús de Mac OS X! Eso realmente define el significado de "Alt" ernate. – trusktr

8

He estado sacando pelos de mi cabeza porque pensé que tenía el mismo problema. Al construir la aplicación, no obtuve el mismo resultado en mi iPhone que en el simulador.

El problema era que de alguna manera había hecho una versión localizada del archivo MainStoryboard.storyboard. Entonces, cuando ejecuté la aplicación en mi teléfono, se mostró la versión en danés ... y el simulador mostró la versión en inglés.

Sí, soy nuevo! :)

+2

Tuve problemas similares. Hizo command-option-shift-K inútilmente. Eliminado ... DerivedData, no hay solución. Resultó que cambiar el nivel superior de XIB solo cambia la versión en inglés, y estaba probando con la versión holandesa del XIB. Suspire ... – fishinear

+1

Además, tenga en cuenta que hay formas de localizar su aplicación donde se crean archivos de texto separados para cada idioma. En tales casos, cambiar el .xib no hace nada. – dandan78

16

Encontré otra manera además del comando + opción + shift + K. En XCode 4.2 hay un organizador que se puede abrir desde el icono de la esquina superior derecha. Puede limpiar todos los archivos y las opciones de proyecto guardadas desde allí. Esto ayudó a mi situación (estaba viendo viejos archivos eliminados en mainBundle).

+3

Sí, eso es más fácil que limpiar ~/Library/Developer/Xcode/DerivedData manualmente – Tieme

6

Para eliminar todos los datos derivados y la memoria caché del módulo en /var/folders use this little ruby script.

derivedDataFolder = Dir.glob(Dir.home + "/Library/Developer/Xcode/DerivedData/*") 
moduleCache = Dir.glob("/var/folders/**/com.apple.DeveloperTools*") 
FileUtils.rm_rf derivedDataFolder + moduleCache 

Esto se soluciona un error de fatal error: malformed or corrupted AST file: 'Unable to load module "/var/folders/ para mí.

+1

El aparente error que causa "error fatal: archivo AST mal formado o dañado: 'No se puede cargar el módulo", y la falla de la solución sugerida por Xcode, todavía está ocurriendo en Xcode 6.1. Y la solución para salir de Xcode y limpiar manualmente ~/Library/Developer/Xcode/DerivedData funciona manualmente. No necesité limpiar todo allí; solo dos subcarpetas: ModuleCache y la subcarpeta cuyo nombre es relevante para el proyecto problemático. –

17

Además de realizar el siguiente, puede experimentar este problema si se localizan los archivos de Storyboard de su aplicación. En primer lugar, hacer cada uno de estos:

  • limpiar los restos de
  • Restablecer Simulador
  • Reiniciar Xcode
  • Eliminar la carpeta de DerivedData en ~/Library/desarrollador/Xcode/DerivedData
  • Eliminar la contenido (no toda la carpeta) de /var/folders
  • Reiniciar computadora

Lo que finalmente funcionó para mí fue volver a generar los archivos de localización del guión gráfico y eliminar la localización en inglés (que no era necesaria porque la configuración básica de la base es inglés). Para volver a cargar sus cadenas de guiones gráficos, see this answer on StackOverflow.

me había dado cuenta de que las partes no son de texto de mi Storyboard se están actualizando, pero no el texto localizado. Si tiene una localización en su aplicación, le recomiendo verificar para asegurarse de que sus localizaciones estén actualizadas (incluso si son archivos .strings).

+1

Eliminando el ** contenido ** (no toda la carpeta) de/var/folders lo hizo por mí! Si está buscando /var/folders..Elegir Ir a la carpeta en el menú Ir del Buscador, e ingrese/var/como la ubicación de la carpeta. – Patricia

+0

+1 en la instrucción/var/folders ... la limpieza y eliminación de DerivedData funcionó parcialmente pero esa funcionó – EeKay

+1

1. Clean Build 2. Restablecer simulador 3. Reinicie Xcode Eso resolvió mi problema. –

0

Tienes que tener cuidado con el archivo xib. Intenté todo lo anterior y nada funcionó para mí. Estaba usando UIButtons personalizados definidos en el xib, y me di cuenta de que podría estar relacionado con el hecho de que había asignado atributos allí que no cambiaban de forma programática. Si ha definido imágenes o texto allí, elimínelos. Cuando lo hice, mis cambios programáticos comenzaron a tener efecto.

4

he tenido algunos problemas con Xcode 5.1 estrellarse en mí, al abrir la ventana de documento.

no estoy seguro de la causa de la misma, porque yo también estaba actualizando docsets, mientras que abrí la ventana.

Bueno, en Xcode 5 el directorio de los módulos ahora reside dentro de la carpeta de datos derivados, que por razones obvias no eliminé. Eliminé el contenido de ~/Library/Developer/Xcode/DerivedData/ModuleCache y ~/Library/Preferences/com.apple.Xcode.plist y todo parece funcionar, después de reiniciar Xcode.

0

Aquí es mi shell script solution, que borra los datos derivados y limpia activos en caché de un proyecto, para Xcode 4, 5 y 6.

A veces, simplemente llamando a rm-rf en el directorio de datos derivado deja un archivo persistente o dos, pero mi script se repite hasta que se eliminan todos los archivos.

0

Probé casi todo, pero no pude evitar, lo que me ayudó fue Desactivación de SIP (Sistema de Protección de Integración) n funciona, no sé qué pasa cuándo y cómo, pero el sistema de archivos se confunden en algún lugar y causa esta ... aunque puede haber riesgos para la desactivación de esto, obviamente,

aquí es cómo

1.Power en su Mac y mantenga pulsado el botón [Command] + [R] claves para acceder a la partición de recuperación.

2.Desde la Partición de recuperación, haga clic en Utilidades en la barra de menú y luego seleccione Terminal.

3.Ingrese el siguiente comando en la terminal y pulse Enter para ejecutarlo: csrutil desactivar

4. Una vez que el comando ha ejecutado, salir de la terminal y reiniciar el Mac. Cuando vuelva a iniciar sesión en OS X, SIP se desactivará.

+0

Suena arriesgado de hecho. ¿Qué hace SIP? – Tieme

+0

La protección de integridad del sistema protege los archivos del sistema y los directorios que están marcados para protección. Básicamente agrega más seguridad a su sistema, lo que limita incluso el poder del comando sudo –

0

Si utiliza un "modelo de datos", hay opciones en el inspector a clases Generare, para mí este era el caso, ya que existía una clase con el nombre existente.

Codegen: lo resolvió para mí.

enter image description here

Cuestiones relacionadas