wake-up-neo.net

Die Korrekturdatei 'project.pch' wurde geändert, da der vorkompilierte Header in Xcode fehlerhaft erstellt wurde

Ich habe kürzlich an meiner Anwendung gearbeitet, die im Abschnitt info.plist herumgespielt hat, und seitdem läuft meine Anwendung nicht mehr auf meinem Testgerät:

die Datei 'project.pch' wurde geändert, seit der vorkompilierte Header erstellt wurde

Zu beachten ist, dass die App im Simulator einwandfrei läuft.


Edit: Jetzt bekomme ich diesen Fehler anstelle des anderen:

Keine solche Datei oder kein solches Verzeichnis

No such file or directory error

Wie kann ich die Datei info.plist neu generieren?

54
user1542348

Sie könnten eine Tiefenreinigung versuchen (nicht dasselbe wie bei Produkt> Reinigen) - Option+Command+Shift+K

Hinweis: Dies bedeutet, dass das den Erstellungsordner bereinigt (durch Drücken von Option + Produkt -> Ordner reinigen)

104
HexAndBugs
  1. Schließen Sie Ihr Projekt oder Ihren Arbeitsbereich.
  2. Im Finder: ⇧shift+⌘cmd+G
  3. Einfügen: ~/Library/Developer/Xcode/DerivedData/
  4. Löschen Sie den Ordner ModuleCache und leeren Sie den Papierkorb.
  5. Öffnen Sie Ihr Projekt.
  6. Sauber: ⇧shift+⌘cmd+K
  7. Bauen: ⌘cmd+B
75
emotality

In meinem Fall hatte die Fehlermeldung einen kleinen Hinweis:

hinweis: Löschen Sie nach dem Ändern der Systemheader den Modulcache unter '~/Library/Developer/Xcode/DerivedData/ModuleCache/5CYAJ91AZCB7'.

Ich habe es versucht und es hat funktioniert.

60
CedricSoubrie

Durch einfaches Berühren der PCH-Datei des Projekts wurde dieses Problem für mich gelöst:

touch Test.pch
43
ıɾuǝʞ
  • Produkt -> Reinigen
  • Produkt + Option -> Build-Ordner bereinigen
  • Schließen Sie das Projekt oder den Arbeitsbereich
  • Bereinigen Sie den 'ModuleCache'-Pfad im Finder.

Arbeitete für mich in Xcode6 GM und iOS 8.0.

19
Jorge SV

Wenn die .h-Datei einer mit Xcode bereitgestellten Bibliothek geändert wird (auch ein Leerzeichen), kann dieser Fehler auftreten.

Im Folgenden wird möglicherweise versucht, dieses Problem zu beheben

  • In, Project -> Build Settings , ändern Sie Prefix Header vorkompilieren zu NEIN

    OR

  • Führen Sie rm -rf ~/Library/Developer/Xcode/DerivedData und Clean Build aus
10
Abhilash Gopal

Ich hatte dies ständig seit dem Upgrade von Xcode 4.6 auf Xcode 5 mit iOS-Projekten, wenn Befehlszeilen-Build (xcodebuild) verwendet wurde.

Was für mich funktioniert hat, ist, dies als Kommandozeilen-Build-Befehl zu verwenden:

xcodebuild -project path/to/my.xcodeproj -configuration Debug clean build

Vorher habe ich versucht:

  • Bereinigen Sie das Projekt in Xcode GUI.
  • Löschen Sie die fehlerhafte PCH-Datei.
  • Löschen Sie den übergeordneten Ordner der betreffenden PCH-Datei.
  • Löschen Sie den DerivedData-Projektordner.

Unter Xcode 5.0.2, Mavericks, iOS7 hat keines der oben genannten Verfahren für mich funktioniert.

Beachten Sie, dass das Problem bei der Verwendung der Xcode-GUI nicht aufgetreten ist.

7
kakyo

Ich gehe einfach in das Verzeichnis "/ $ HOME/Library/Developer/Xcode/DerivedData /" und lösche dort alles

5
0oneo

Klicken Sie einfach im Menü auf Produkt und wählen Sie Reinigen

Produkt> Reinigen

Hat gut funktioniert für mich.

3
M_R_K
rm -rf ~/Library/Developer/Xcode/DerivedData/
2

Wenn Sie AppCode verwenden, können Sie versuchen, Inhalte zu entfernen aus:/Users/[Username]/Library/Caches/appCode 30/DerivedData /

Arbeitete für mich :)

2
lembrykos

Ich habe das gleiche Problem. Mein Fehler sagte, wie ich den Cache in der folgenden Position löschen muss,

Benutzer/Benutzername/Bibliothek/Entwickler/Xcode/DerivedData/ModuleCache/3FGETKFCU0N0W

3FGETKFCU0N0W war ein Ordner, als ich ihn löschte und dann das Projekt bereinigte. Dann verschwindet der Fehler.

2

Wenn Sie dies beim Wechseln zwischen Git-Zweigen feststellen, fügen Sie diesen Post-Checkout-Hook hinzu, der Ihr Projekt jedes Mal bereinigt, wenn Sie den Zweig wechseln.

!/bin/sh
xcodebuild clean -configuration Debug

Speichern Sie als .git/hooks/post-checkout Relativ zu Ihrem Projektstamm und vergessen Sie nicht chmod +x .git/hooks/post-checkout

1
Maciej Swic

Öffnen Sie einfach das Terminal und löschen Sie die generierte .pcm-Datei (ab Xcode 6)

rm <path-to-pcm-file>
1
Abhilash Gopal

Für mich tritt dieses Problem nur in der Beta-Version von Xcode 6 auf. Daher wechsle ich wieder zu Xcode 5 und das Problem ist nun behoben.

Ich habe alle hier von allen Benutzern vorgeschlagenen Schritte ausprobiert, aber niemand hat für mich gearbeitet.

Wenn Sie also beide Versionen von Xcode haben und nur in Xcode 6 Beta Probleme haben, dann wechseln Sie zu Xcode 5 und bereinigen Sie das Projekt, das Problem ist gelöst.

1
Nitesh Borad

Die einzige Lösung, die dort für mich funktionierte, war das Ausführen des folgenden Befehls:

Sudo rm -R /var/folders/

Aber das bereitete mir viele Probleme in OS X.

Ich dachte, weil/var/folders/für temporäre Dateien gedacht ist, sollte es in Ordnung sein, nur irgendetwas darin zu leeren. Aber ich habe mich geirrt, siehe folgenden Beitrag: link

Und das von Ihnen beschriebene Problem trat jedes Mal auf, wenn ich versuchte, mein Xcode-Projekt zu erstellen - ich erstelle es über die CLI von Jenkins aus.

Das heißt, ich konnte den Befehl rm nicht jedes Mal ausführen. Also fand ich einige Inspirationen und schrieb das folgende Ruby Skript, das mein Problem löste:

#!/usr/bin/env Ruby

require 'fileutils'

cache = Dir.glob("/var/folders/**/com.Apple.DeveloperTools*")
FileUtils.rm_rf(cache)

Ich hoffe es wäre jemandem behilflich.

1
martinmose

Wenn Sie mit xcodebuild auf der Befehlszeile aufbauen, entfernen Sie die an den Befehl übergebene Option '-parallelizeTargets'. Das hat das Problem für mich behoben

0
dev

Ich habe diese nacheinander ausprobiert, konnte mein Projekt jedoch nicht erstellen und ausführen. Also änderte ich Präfix-Header vorkompilieren zu NO wie von @Abhilash Gopal erwähnt, dann setzte ich den Simulator zurück, löschte die abgeleiteten Daten, entfernte die entsprechende .pcm-Datei (In meinem Fall war es die UIImage.h aus dem UIKit-Framework, entfernte also die UIKit.pcm). Dann bereinigte ich das Projekt und konnte es erst dann erfolgreich erstellen. In früheren Versionen von Xcode waren diese Dateien grundsätzlich gesperrt und durften nicht bearbeitet werden. Aber das ist jetzt nicht der Fall. Hoffe, das hilft jemandem, der in der gleichen Situation ist.

0
Meera

Das Löschen von project.xcworkspace Hat einen Trick für mich gemacht.

project.xcworkspace Ist ein Verzeichnis, das das Schema des aktuellen Status des Xcode-Arbeitsbereichs beschreibt. Bei jedem Start von Xcode wird project.xcworkspace Neu generiert, falls noch nicht vorhanden.

Um project.xcworkspace Zu löschen:

  • Klicken Sie mit der rechten Maustaste auf Ihre Projektdatei yourProject.xcodeproj
  • Wählen Sie aus dem Dropdown-Menü Show Package Content
  • Löschen Sie die xcworkspace-Datei
0
Delorean