Wenn ich versuche, meine App einzubauen Xcode
, wird folgende Fehlermeldung angezeigt:
PCH-Datei, die aus einem anderen Zweig ((clang-425.0.24)) als der Compiler ((clang-425.0.27)) erstellt wurde
Es passiert vorher nicht, aber dies war der erste Build nach der Aktualisierung von Xcode.
Andere Apps funktionieren, aber nicht diese spezielle.
Wenn ich die "Precompile Prefix Header"
Einstellung ausschalte , funktioniert es.
Wie behebe ich diesen Fehler und behalte diese Einstellung bei?
xcode
clang
precompiled-headers
Macro206
quelle
quelle
Product
>Clean
und keine Notwendigkeit für die Befehlstaste. (Xcode 4.6.1)Product > Clean
, aber es macht einen weniger gründlichen Job. Einige Leute können mit kaufenProduct > Clean
, für die meistenProduct > Clean Build Folder...
ist ausreichend, und andere müssen manuell entfernt werden, wie in der Antwort von @Sedes unten angegeben.Löschen Sie den
DerivedData
Ordner für das Projekt. Schauen Sie unter Xcode-Einstellungen -> Speicherorte nach, wo Sie es speichern.quelle
DerivedData
sich IhrBuild
Ordner nicht unbedingt dort befindet. Dies hat mir sehr geholfen, danke!moduleCache
innerhalb vonDerivedData
zu löschenDerivedData
Ordner rekursiv löschen ... "Nuke aus dem Orbit ... nur so, um sicher zu sein." @whitelionV das wäre auch rmmoduleCache
und alles andere drin .Es scheint, dass das Produkt> Clean Build Folder ... (mit gedrückter Wahltaste) für die meisten Menschen funktioniert. Siehe die ausgewählte Antwort von @gaige.
Wenn Sie sich von den meisten Menschen (einschließlich mir) unterscheiden und dies dennoch zu Problemen führt, hat XCode Ihre freigegebenen vorkompilierten Header wahrscheinlich an anderer Stelle belassen. Für mich befanden sie sich in einem ähnlichen Ordner:
Ich habe gerade den gesamten SharedPrecompiledHeaders-Ordner gelöscht und das hat die Dinge für mich gelöst. Ich würde hier allerdings nicht viel anderes anfassen ...
quelle
Shift-Cmd-G
und Typ/var
Gehen Sie zu Xcode-Einstellungen-> Speicherorte (wie in der Antwort von wcochran erwähnt) und benennen Sie einfach Ihren DerivedData-Ordner um. Ich habe meine einfach von "DerivedData" in "DerivedData2" geändert und das System musste nicht mehr auf den alten Speicherort verweisen. Dies hat es für mich behoben, als keine der anderen Antworten funktionierte. Siehe Bild:
quelle
Keine der anderen Optionen hat bei mir funktioniert, hier ist das, was es behoben hat:
Ich habe den Cache-Ordner unter gelöscht
/Users/(Yourname)/Library/Developer/Xcode/DerivedData/ModuleCache/
(das Umbenennen funktioniert auch).Versuchen Sie, den im Fehler genannten Ordner zu löschen, wenn Ihr Fehler ungefähr so aussieht:
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
quelle
Das Löschen der Ordner
Build
undDerivedData
vom Projektspeicherort im Finder hat bei mir funktioniert.quelle
.build
Ordner für einige Leute sein (einschließlich mir)Wechseln Sie in Ihrem ios-Projektverzeichnis zum Erstellen und Löschen des ModuleCache- Ordners. Führen Sie es
react-native run-ios
erneut aus, es sollte wie erwartet funktionieren. Zusammenfassung -rm -rf ios/build/ModuleCache
quelle
Nach dem Upgrade von Xcode bekam ich dies mit mehreren Projekten. Clean Build Folder und Clean hatten keine Auswirkung - @sedes Antwort und @ josema.vitaminews Kommentar haben es für mich getan. Aber es kann schwierig sein, es sei denn, Sie verwenden ein wenig List. Hier ist eine schrittweise Verknüpfung:
... und jetzt werden alle Ihre Projekte "behoben", müssen sich jedoch beim ersten Mal ohne Caching neu erstellen (sodass NUR der NÄCHSTE Build langsamer als normal ist).
quelle
In meinem Fall habe ich alle Dateien unter SharedPrecompiledHeaders auf diese Weise entfernt und alles begann gut zu funktionieren:
quelle
Ich habe diesen Fehler beim Versuch, ein Projekt mit Swift Package Manager zu erstellen, festgestellt.
Die Lösung ist einfach das
.build
Verzeichnis zu löschen .quelle
Insbesondere wenn Sie über die Befehlszeile erstellen oder über ein Erstellungsskript verfügen, reicht das Bereinigen des xcode-Ziels nicht aus. Sie haben diesen Ordner gelöscht.
Die vorkompilierte Header-Position finden Sie in der
Löschen Sie diesen Ordner mit,
quelle
Wenn es nicht durch Reinigung gelöst wird. Es handelt sich um ein Build-Cache-Problem. Halten Sie die Wahltaste gedrückt und navigieren Sie zu Produkt> Build-Ordner bereinigen. Das hat mein Problem behoben.
quelle
In meinem Fall hat Xcode den Ordner DerivedData in meinem Projekt-Hauptpaket erstellt (/ Users / Path_to_your_project_source_code / YourProjectName / DerivedData).
Ich habe diesen Ordner gerade aus meinem Quellcode-Bundle gelöscht und jetzt funktioniert er.
So aktivieren Sie Gehen Sie zu Xcode-Einstellungen-> Speicherorte und prüfen Sie, ob DerivedData auf "Relativ" ausgewählt ist. Siehe das Bild unten
quelle
Für mich würde dies immer passieren, wenn ich mein Projekt an einen anderen Ort kopiere. Ich würde das tun, um es in ein Repo oder so zu schieben.
Ich muss den Build-Ordner (rm -rf Build /) an den alten und neuen Speicherorten löschen, damit er funktioniert. Dies ist sinnvoll, da der Build-Ordner Daten enthält, die für den neuen Speicherort nicht relevant sind.
Das Bereinigen abgeleiteter Daten oder das Löschen der Ordner sharedPrecompiledHeaders hat dies in diesem Fall nicht wirklich getan.
quelle
Sie sollten "Umschalt + Befehl + C" gedrückt halten, und dann werden Sie erfolgreich bauen
quelle
Das Bereinigen und / oder Löschen abgeleiteter Daten hat bei mir nicht funktioniert. Was funktioniert hat, ist das Berühren / Speichern der PCH-Datei (Hinzufügen eines Zeichens und Löschen), um die Neuerstellung zu erzwingen. Das hat den Trick gemacht.
quelle
Wenn ein sauberer Build für Sie nicht funktioniert, suchen Sie nach den PCH-Dateien in
/var/folders/../SharedPrecompiledHeaders
und entfernen Sie die PCH-Dateien, die für mich funktioniert haben.quelle
Sie können versuchen, das Produkt oder den Build-Ordner zu bereinigen:
SHIFT+ COMMAND+K
OPTION+ SHIFT+ COMMAND+K
quelle
Wenn Sie eine Befehlszeilenerstellung über ausführen, prüfen Sie
xcodebuild
, ob die-derivedDataPath BUILD_DIR
Option verwendet wird. In diesem Fall befindet sich Ihr Verzeichnis ModuleCache.noindex im BUILD_DIR anstelle des normalen Xcode-Speicherorts. Löschen Sie das Verzeichnis ModuleCache.noindex und Sie sind fertig.Ich bin auf diese Situation gestoßen, weil ich eine React Native-App erstelle und der iOS-Client normalerweise über die Befehlszeile über das React Native-Toolset erstellt wird.
quelle
Ich habe versucht, das Projekt und den Build-Ordner zu bereinigen, was beide nicht funktionierten.
Danach habe ich xCode vollständig beendet, den abgeleiteten Datenordner an seinem Standardspeicherort gelöscht: ~ / Library / Developer / Xcode / DerivedData, xCode erneut gestartet und das Projekt erstellt.
Das schien das Problem für mich gelöst zu haben.
quelle
rm -rf ~/Library/Developer/Xcode/DerivedData
im Terminal und das anschließende Öffnen von Xcode haben es für mich getan. Ich habe auch sichergestellt, dass meine Standorte (Xcode -> Einstellungen -> Standorte) alle Standard sind.AKTUALISIERT
Das hat bei mir perfekt funktioniert:
xCode 7.3.1
Referenz hier
quelle
Ich habe gerade gelöscht
DerivedData
und für mich gearbeitet.quelle