Acabo de actualizar a la versión 4.6.2 de Xcode (4H10003) e intenté ejecutar un proyecto de aplicación que funcionaba anteriormente en el simulador y recibí el siguiente error y la compilación falló.
Archivo PCH construido a partir de una rama diferente ((clang-425.0.27)) que el compilador ((clang-425.0.28))
¿Qué salió mal y cómo se puede solucionar?
Respuestas:
Haga una limpieza del proyecto; mantenga presionada la opción para que esté limpiando toda la carpeta de compilación y los intermedios. Es posible que deba salir de Xcode y tirar todo el contenido de la carpeta DerivedData a mano en el Finder, como describo aquí: Cómo vaciar cachés y limpiar todos los destinos Xcode 4
fuente
Vaya a su proyecto
Build Settings
, busque una configuración llamadaPrecompiled Headers Cache Path
y luego elimine esa carpetafuente
Haga una limpieza usando
command+shift+k
y ejecute el proyecto existente nuevamente.fuente
De las notas de la versión de XCode 4.6.2
Producto de ejecución> Obras limpias
fuente
Probé todo lo anterior y funciona bien desde la interfaz de usuario de Xcode, pero todavía me estaba fallando cuando ejecuté xcodebuild desde la línea de comandos .
Eso se debió a las dependencias de otras bibliotecas y sus encabezados precompilados. Cuando se ejecuta desde la línea de comandos, parece que xcodebuild almacena / lee los encabezados precompilados desde aquí:
/var/folders/v0/ztxy9kls7sv05dpmvjgg_xwr0000gn/C/com.apple.Xcode.501/SharedPrecompiledHeaders
Después de limpiar esa carpeta, xcodebuild tuvo éxito.
fuente
sudo find /private/var/folders -name SharedPrecompiledHeaders
y luego vacié los directorios resultantes. Trabajado como un encanto.Especialmente si compila desde la línea de comandos o tiene un script de compilación, limpiar el destino de xcode no es suficiente. Tienes que eliminar esta carpeta.
La ubicación exacta del encabezado precompilado se puede encontrar en el proyecto, parte de la ruta de la carpeta es aleatoria (supongo), especialmente después de /var/folders/xx..xxx/C.
Target -> build settings => "Build locations" -> Precompiled headers cached path
Ejecute Terminal y vaya a esta carpeta y elimine (use el comando),
#rm -fr SharedPrecompiledHeaders
fuente
Tuve que eliminar manualmente
~/Library/Developer/Xcode/DerivedData/
Clean no funcionó para mí.fuente
use "command + shift + k" para limpiar su proyecto, entonces estará bien.
fuente
Limpia tu proyecto y ejecuta
Producto-> Limpiar luego, ejecutar.
fuente