Lorsque j'essaie de créer mon application dans Xcode
, le message d'erreur suivant s'affiche:
Fichier PCH créé à partir d'une branche différente ((clang-425.0.24)) de celle du fichier compilateur ((clang-425.0.27))
Cela n'arrivait pas avant, mais c'était la première construction après la mise à jour de Xcode.
D'autres applications fonctionnent, mais pas celle-ci.
Si je désactive le paramètre "Precompile Prefix Header"
, cela fonctionne.
Comment corriger cette erreur tout en maintenant ce paramètre?
C'est souvent un problème de cache. En règle générale, il peut être résolu en maintenant la touche Option enfoncée et en choisissant Produit> Nettoyer le dossier de construction ...
Il semble que le Produit> Nettoyer le dossier de construction ... (avec la touche Option enfoncée) fonctionne pour la plupart des gens. Voir la réponse sélectionnée par @gaige.
Si vous êtes différent de la plupart des gens (moi inclus) et que cela vous cause toujours des problèmes, XCode a probablement laissé vos en-têtes précompilés partagés ailleurs. Pour moi, ils étaient dans un dossier similaire à celui-ci:
/var/folders/<some random two characters>/<some random string>/C/com.Apple.Xcode.502/SharedPrecompiledHeaders
Je viens de supprimer le dossier entier SharedPrecompiledHeaders et cela a résolu le problème pour moi. Je n'irais pas toucher beaucoup d'autre ici cependant ...
Soufflez dans le dossier DerivedData
pour le projet. Regardez sous Préférences Xcode -> Emplacements pour voir où vous enregistrez.
Allez dans Préférences Xcode -> Emplacements (comme indiqué dans la réponse de wcochran) et renommez simplement votre dossier DerivedData. J'ai simplement changé le mien de "DerivedData" à "DerivedData2" et cela a forcé le système à cesser de référencer l'ancien emplacement. Cela a réglé le problème pour moi lorsqu'aucune des autres réponses ne fonctionnait. Voir photo:
Supprimer les dossiers Build
et DerivedData
de l'emplacement du projet dans le Finder a fonctionné pour moi.
Aucune des autres options n'a fonctionné pour moi, voici ce qui l'a corrigé:
J'ai supprimé le dossier de cache à /Users/(Yourname)/Library/Developer/Xcode/DerivedData/ModuleCache/
(renommer cela fonctionne aussi).
Essayez de supprimer le dossier mentionné dans l'erreur, si votre erreur ressemble à ceci:
PCH was compiled with module cache path '/Users/User/Library/Developer/Xcode/DerivedData/ModuleCache/75YIWZVTEAO8', but the path is currently '/Users/Stan/Library/Developer/Xcode/DerivedData/ModuleCache/75YIWZVTEAO8
Après la mise à niveau de Xcode, je l’obtenais avec plusieurs projets. Clean Build Folder et Clean n'ont eu aucun effet - @sedes answer et le commentaire de @ josema.vitaminew l'ont fait pour moi. Mais cela peut être délicat à moins que vous utilisiez un peu de ruse, alors voici un raccourci pas à pas:
... et maintenant tous vos projets seront "corrigés", mais devront se reconstruire pour la première fois sans mise en cache (ainsi, la construction NEXT ONLY sera plus lente que la normale).
Dans le répertoire de votre projet ios, accédez au dossier build et supprimez ModuleCache . Exécutez à nouveau react-native run-ios
, cela devrait fonctionner comme prévu ..__ Résumé - rm -rf ios/build/ModuleCache
dans mon cas, je me suis débarrassé de tous les fichiers sous SharedPrecompiledHeaders de cette façon et tout a commencé à bien fonctionner:
Sudo find /var/folders/ -type d -name "SharedPrecompiledHeaders" | xargs -n 1 -I dir Sudo find dir -name \* -type f -delete
Spécialement si vous construisez à partir de la ligne de commande ou si vous avez un script de compilation, le nettoyage de la cible xcode ne suffit pas. Vous avez supprimé ce dossier.
L’emplacement de l’en-tête précompilé se trouve dans le répertoire
Target -> build settings => "Build locations" -> Precompiled headers cached path
Supprimer ce dossier avec,
#rm -fr SharedPrecompiledHeaders
Dans mon cas, Xcode créait le dossier DerivedData dans le lot principal de mon projet (/ Users/Path_to_your_project_source_code/YourProjectName/DerivedData).
Je viens de supprimer ce dossier de mon lot de code source et maintenant, il fonctionne.
Pour vérifier Allez dans Préférences Xcode -> Emplacements et voyez si DerivedData est sélectionné sur "Relatif". Voir l'image ci-dessous
Si ce n'est pas résolu par le nettoyage. C’est un problème de cache de construction - maintenez la touche Option enfoncée et accédez à Produit> Nettoyer le dossier de construction. Cela a résolu mon problème.
J'ai rencontré cette erreur en essayant de construire un projet avec Swift Package Manager.
La solution consiste simplement à supprimer le répertoire .build
.
vous devriez maintenir "shift + command + C" enfoncé, et ensuite vous construirez avec succès
Si une nouvelle version ne fonctionne pas pour vous, recherchez les fichiers PCH dans /var/folders/../SharedPrecompiledHeaders
et supprimez-les, ce qui a fonctionné pour moi.
Le nettoyage et/ou la suppression des données dérivées ne fonctionnaient pas pour moi. Ce qui a bien fonctionné est de toucher/enregistrer le fichier .pch (ajouter un caractère, puis le supprimer) pour le forcer à être reconstruit. Cela a fait le tour.
Vous pouvez essayer de nettoyer le produit ou le dossier de construction:
SHIFT + COMMAND + K
OPTION + SHIFT + COMMAND + K
MIS &AGRAVE; JOUR
Cela a parfaitement fonctionné pour moi:
xCode 7.3.1
référence ici
J'ai essayé de nettoyer le projet et de nettoyer le dossier de construction qui ne fonctionnait pas tous les deux.
Après cela, j'ai complètement quitté xCode, supprimé le dossier de données dérivé à son emplacement standard: ~/Library/Developer/Xcode/DerivedData, lancé à nouveau xCode et construit le projet.
Cela semblait avoir résolu le problème pour moi.
Si vous construisez une ligne de commande avec xcodebuild
, voyez si l'option -derivedDataPath BUILD_DIR
est utilisée. Si tel est le cas, votre répertoire ModuleCache.noindex se trouvera dans BUILD_DIR au lieu de l'emplacement Xcode normal. Supprimez le répertoire ModuleCache.noindex et vous serez tous ensemble.
J'ai rencontré cette situation car je construis une application React Native et le client iOS est généralement construit à partir de la ligne de commande via le jeu d'outils React Native.
Je viens de supprimer DerivedData
et j'ai travaillé pour moi.
Pour moi, cela se produirait toujours lorsque je copierais mon projet vers un autre emplacement. Je ferais cela pour le pousser dans un repo ou quelque chose.
Je dois supprimer le dossier de construction (rm -rf Build /) dans les anciens et nouveaux emplacements pour le faire fonctionner. Cela a du sens, car le dossier de construction contiendra des données non pertinentes pour le nouvel emplacement.
Le nettoyage des données dérivées ou la suppression des dossiers sharedPrecompiledHeaders ne l'ont pas vraiment fait dans ce cas.