Xcode: Problem "Datei xxx.png fehlt in Arbeitskopie" bei der Projekterstellung

265

Nach dem Löschen / Hinzufügen einiger PNG-Dateien zum Projekt habe ich beim Erstellen des Projekts Meldungen erhalten.

"Die Datei ProjectPath \ aaa \ xxx.png fehlt in der Arbeitskopie."

Alle diese Dateien befinden sich im Projekt und die Anwendung wird ausgeführt. Diese Meldungen sind jedoch ärgerlich. Sah nach .plist-Datei aus, aber es gibt keine Erwähnung dieser Dateien. Was soll ich tun, um diese Nachrichten zu entfernen?

Iban
quelle

Antworten:

496

Die Warnung verschwindet, sobald Sie Ihre Änderungen festschreiben (Xcode 8).

Alexander Vasenin
quelle
2
Ich habe festgestellt, dass ich meine Änderungen nur unter git festschreiben musste, nachdem ich einige Dateien in ein anderes Verzeichnis verschoben hatte.
Chris Livdahl
@LearnSwift Clean Cmd + Shift + K, lösche ~ / Library / Developer / Xcode / DerivedData / *?
Alexander Vasenin
2
@ AlexanderVasenin weder
Learn Swift
7
Für mich war es genug, nur Änderungen zu inszenieren. Gut zu wissen.
charmantToad
13
Wie Sie bereits erwähnt haben, habe ich sichergestellt, dass meine neuesten Änderungen festgeschrieben und gepusht werden. Aber genau das hat die Fehler nicht beseitigt. Also habe ich Xcode> Quellcodeverwaltung> ALLE Änderungen verwerfen ausgeführt und alle Fehler für mich behoben.
EdwardM
97

Es scheint, dass dieses Problem unterschiedliche Ursachen haben kann, aber es hängt oft mit der Quellcodeverwaltungssoftware zusammen.

In meinem Fall habe ich es gelöst, indem ich zu Git gegangen bin und die Dateien erneut hinzugefügt habe. Ich meine, den folgenden Befehl auszuführen:

git add .
nbloqs
quelle
Nach der Installation von Xcode 8 und dem Upgrade des Codes auf Swift 3 hatte ich über 300 Probleme, bei denen Syntaxkorrekturen erforderlich waren (umfangreiches Projekt). Stattdessen habe ich von einem Backup wiederhergestellt und auf Swift 2.3 aktualisiert ... bis auf ein paar dieser 'fehlenden' Nachrichten lief alles gut. Dieser Befehl hat wie ein Zauber gewirkt - ich bin wieder im Geschäft!
Dan Ross
Das hat bei mir funktioniert. Das Problem begann, als ich das, was ich früher in Pods hatte, zugunsten von Karthago entfernte
Sebastian Sastre
1
Das funktioniert auch bei mir. Es scheint, dass die Datei unter Quellcodeverwaltung steht und Git ebenfalls aktualisiert werden muss.
Shardon
Nach Git Commit verschwand die Warnung
carmen_munich
3
Für andere: Sie müssen sich im Stammordner Ihres Xcode-Projekts befinden und das 'git add' ausführen. Befehl: / MyXcodeProjects / AwesomeApp /
Philip Borges
59

Sie können die Quellcodeverwaltung auch deaktivieren, indem Sie das Kontrollkästchen deaktivieren

Xcode -> Einstellungen -> Quellcodeverwaltung -> Quellcodeverwaltung aktivieren

Wenn Sie es über die Befehlszeile oder eine andere App verwalten.

emrekyv
quelle
das hat es für mich getan, irgendwie ärgerlich, das in der IDE zu sehen, sie sollten entweder die Quellcodeverwaltung gut unterstützen oder gar keine
samiq
1
Ich habe zwei Aktionen ausgeführt: 1) "Deaktivieren", 2) "Aktivieren" für "Quellcodeverwaltung aktivieren". Warnungen wurden verschwunden.
Viktor
58

In XCode -> SoureControl:

Update+ Refresh Statushat es für mich getan.

Coyer
quelle
Ich denke, dies kann an Bildern liegen, deren Dateiname "@" enthält, z. B. an der Konvention "@ 2x" und "@ 3x". SVN verwendet dieses Symbol für die Revisionssyntax (um es bei der Arbeit mit SVN in der Befehlszeile zu umgehen, fügen Sie am Ende einfach ein "@" hinzu, da das letzte Vorkommen dasjenige ist, mit dem versucht wird, Revisionsinformationen zu ermitteln). Das einfache Ausführen von Update hat bei mir funktioniert. Als ich einige neue Bilder hinzufügte, musste ich tatsächlich manuell "Hinzufügen" für die 2x / 3x-Varianten im Bereich "Dateiinspektor" auswählen. Seltsam.
Android3000
1
Dies! so wichtig. Das Problem tritt auch auf, wenn Sie einen Ordner mit Dateien umbenennen. Mit anderen Worten, xcode gibt uns Warnungen aus, weil wir unseren Code noch nicht festgeschrieben haben! klatschen klatschen klatschen
Warpzit
4
Das hat bei mir funktioniert. Ich musste Xcode schließen und das Projekt erneut öffnen und ausführen.
Jaytrixz
44

In meinem Fall fehlte die Datei in der Quellcodeverwaltung.
Um dies zu beheben, musste ich diese Datei verwerfen (seien Sie vorsichtig, verwerfen Sie nur die fehlende Datei, nicht Ihr gesamtes Projekt):

  1. Xcode-> Quellcodeverwaltung-> Festschreiben
  2. Klicken Sie mit der rechten Maustaste auf die fehlende Datei
  3. Wählen Sie Änderungen verwerfen
Ronen
quelle
Es funktioniert für mich, ich habe den DerivedData-Ordner entfernt und Warnungen waren für Dateien wie "db.xcindexdb"
tontonCD
1
Zuerst habe ich sichergestellt, dass meine letzten Änderungen festgeschrieben und gepusht werden. Dann habe ich Xcode> Quellcodeverwaltung> Alle Änderungen verwerfen ausgeführt und alle Fehler für mich behoben.
EdwardM
19

Deaktivieren Sie die Quellcodeverwaltung, bereinigen Sie den Build-Ordner ( Alt+Shift+Cmd+K) und aktivieren Sie die Quellcodeverwaltung erneut.

Xcode -> Einstellungen -> Quellcodeverwaltung -> Quellcodeverwaltung aktivieren

George
quelle
1
Richtige Antwort ... aber die genaue Antwort @emrekyv hat 3 Monate zuvor gepostet ... Er bekommt die Abstimmung
eric
@eric schlug er nur vor, um die Quellcodeverwaltung zu deaktivieren. Ich zeigte, wie man es richtig macht.
George
18

In meinem Fall hatte Xcode irgendwie alte .svnVerzeichnisse gefunden, die auf die fehlenden Dateien verwiesen. Ich musste gehen auf ein Niveau über meinem Projektordner , um diese .svn - Dateien. Nach dem Löschen habe ich Xcode neu gestartet und alles war in Ordnung.

kubi
quelle
Ja, dies geschieht, wenn Sie etwas aus einem Projekt unter Versionskontrolle löschen, auf das noch von der Versionskontrolle verwiesen wird (in meinem Fall svn). Durch die Verwendung von "svn update" zum Wiederherstellen der fehlenden Dateien und das ordnungsgemäße Löschen mit "svn delete" wurde das Problem für mich behoben.
ChrisB
12

Ich hatte ein ähnliches Problem mit einer Handvoll Dateien, die längst aus meinem Xcode-Projekt gelöscht wurden, als ich noch Xcode 7 verwendete.

Meine Lösung war:

  1. Erstellen Sie Dateien mit den Namen, über die sich Xcode beschwert hat (sie benötigen keinen Inhalt).
  2. Fügen Sie die Dateien zu meinem Xcode-Projekt hinzu (klicken Sie in Xcode mit der rechten Maustaste auf mein Hauptprojektverzeichnis, klicken Sie auf Dateien zu meinem_Projektname hinzufügen und wählen Sie die gerade erstellten Dateien aus
  3. Wählen Sie die neu hinzugefügten Dateien aus und löschen Sie sie - wählen Sie In den Papierkorb verschieben.

Dadurch wurden die Warnungen für mich beseitigt.

Gabrielle Earnshaw
quelle
Das hat auch bei mir funktioniert. Ich hatte das Problem, nachdem ich ein vorhandenes Projekt kopiert hatte, um ein Derivat zu erstellen, aber mit reduzierter Funktionalität ⇒ weniger Quelldateien.
Stefan
9

Um Alexander Vasenins Antwort zu ergänzen ...

Zuerst habe ich meine Änderungen festgeschrieben und gepusht

Xcode-Hauptmenü> Quellcodeverwaltung> Festschreiben

Dann habe ich alle Änderungen verworfen, um die Fehler zu beseitigen

Xcode-Hauptmenü> Quellcodeverwaltung> Alle Änderungen verwerfen

Danach verschwanden die Fehler "Datei xxx.png fehlt in Arbeitskopie".

EdwardM
quelle
Was ist, wenn das Projekt keine Versionskontrolle oder ein Versionskontrollsystem verwendet, das von XCode nicht unterstützt wird?
Martin
8

Dies tritt auf, wenn Sie eine Datei auf Xcode löschen, dem SVN-Server dies jedoch nicht mitteilen.

Gehen Sie zum Befehlszeilentool und löschen Sie die Datei direkt.

svn delete missingFile.m 

und begehen es

svn commit -m "Deleting file"

Beachten Sie, dass beim Löschen des .svn-Ordners die Warnung verschwindet, Sie jedoch die Kommunikation mit dem svn-Server verlieren.

Kang Byul
quelle
5

Ich habe es herausgefunden.

Öffnen Sie einfach Ihr SVN-Tool eines Drittanbieters, suchen Sie die fehlenden Dateien. das ist alles.

Traximus
quelle
5

Ich hatte das gleiche Problem und löste es durch Hinzufügen von Git. Öffnen Sie das Befehlszeilen-Tool

cd "project folder path"
git add .

Starten Sie später das Xcode-Projekt neu und öffnen Sie Ihr Projekt erneut.

Ugur Atci
quelle
Was ist, wenn Sie kein Git verwenden?
Martin
4

Auf Ziel anzeigen-> Erstellungsphasen -> Bundle-Ressourcen kopieren. und bereinigen Sie den Build-Ordner-Befehl + Shift + Alt + K.

BHASKAR
quelle
3
Vielen Dank, aber sie befinden sich nicht in den Build-Phasen, und das Bereinigen des Build-Ordners hilft auch nicht.
Iban
4

Ich musste manuell in Terminal gehen und die Dateien mit entfernen git rm ProjectPath\aaa\xxx.pngund dann festschreiben. Danach hat alles gut funktioniert.

yesthisisjoe
quelle
3

Ich habe dies für jedes Projekt erhalten, nachdem ich zu XCode 8 übergegangen bin. Dies hat es gelöst:

Bei gedrückter Wahltaste Produkt (im Titelmenü) -> Build-Ordner bereinigen.

TomV
quelle
2

In meinem Fall hatte ich falsche Daten aus meinen alten Projekten im Simulator. Gelöst durch Zurücksetzen von Inhalten und Einstellungen im Simulator:

Simulator -> Inhalt und Einstellungen zurücksetzen ...

Kanal
quelle
1

Für mich hat folgendes funktioniert:

Da ich Git nicht und nie verwendet habe, habe ich ein neues Projekt erstellt (XCode 8, ich konnte das übliche "Git verwenden" nicht sehen oder das Häkchen wurde jedoch beschriftet). Dann habe ich alle Dateien in diesem neuen Projekt unverblümt gelöscht. ging zum alten durcheinandergebrachten Projekt, kopierte alles in den Projektordner, kehrte zum neu erstellten Projekt zurück, fügte das alte Zeug ein, öffnete das - alle Warnungen vor Dateien, die seit Monaten nicht mehr existieren, sind verschwunden. Daumen drücken.

TommyTheCat
quelle
1

Ich hatte das gleiche Problem und löste es, indem ich einfach die angegebenen Dateien aus dem Finder in den Projektnavigator zog (um sicherzustellen, dass im Dialogfeld "Dateien kopieren" ausgewählt ist) und die Dateien festschrieb.

user2698617
quelle
1

Diese Warnungen sind keine Build-Warnungen, sondern beziehen sich auf Ihr SVN-Repository.

Es ist richtig, dass die angezeigten Verzeichnisse nicht mehr existieren. CocoaPods speichert die Header Pods/Headers/{Private,Public}jetzt. Sie müssen Ihre Arbeitskopie aktualisieren, um diese Änderungen widerzuspiegeln.

Mutawe
quelle
Ich benutze die Versionskontrolle in XCode nicht und habe immer noch das Problem.
Martin
1

In meinem Fall habe ich eine Reihe von Dateien per Drag & Drop in mein Xcode-Projektfenster gezogen, um sie hinzuzufügen. Es wurden Kopien in mein Quellverzeichnis erstellt, aber nicht dort abgelegt, wo ich sie haben wollte (es wurde im Stammverzeichnis meines Verzeichnisses abgelegt, ich wollte sie in einem Unterverzeichnis haben). Ohne nachzudenken, habe ich sie einfach im Finder gepackt und in das Verzeichnis verschoben, in dem ich sie haben wollte. Nachdem ich zurück in das Projektfenster gegangen war, konnte es sie natürlich nicht finden, also habe ich sie im Fenster gelöscht und sie erneut hinzugefügt. Nach dem Kompilieren bekam ich diese Fehler.

Ich dachte, wie oben erwähnt, dass es ein Git-Problem war, aber als ich "git ls-tree --full-tree -r HEAD" ausführte, sah ich die Dateien überhaupt nicht?

Um das Problem zu beheben, habe ich nur den Menübefehl "Datei hinzufügen ..." verwendet, um jede der Dateien zum Standardspeicherort hinzuzufügen, einen sauberen Build durchzuführen und sie dann aus dem Projektfenster zu löschen (mit Verschieben in den Papierkorb) und es hat alle Fehler beseitigt.

KevinR
quelle
1

Ich hatte die Warnungen und konnte auch keine Änderungen unter XCode (mit svn) festschreiben. Alles was ich tun musste war XCode neu zu starten und das Problem ging weg.

Hugh Jeffner
quelle
1

Dies funktioniert bei mir: Xcode -> ("Option + Klicken") Produkt -> Build-Ordner
bereinigen ... dann xCode neu starten

Mykyta Savchuk
quelle
0

In meinem Fall war es ein Problem mit Git und einem Dateisystem, bei dem die Groß- und Kleinschreibung nicht berücksichtigt wurde.

Ich hatte versehentlich dieselbe Datei zweimal zweimal gesendet und dabei Dateipfade verwendet, die sich nur für den Fall unterschieden:

MyProject/Resources/foo.png
MyProject/resources/foo.png

Xcode beschwerte sich über eine der fehlenden Dateien.

Behoben durch Löschen der fehlerhaften Dateien und erneutes Hinzufügen.

cd MyProject
mv Resources/foo.png /tmp
git rm Resources/foo.png
git rm resources/foo.png
git commit
mv /tmp/foo.png Resources
git add Resources/foo.png
git commit
Darren
quelle
0

Dies hängt definitiv mit der Quellcodeverwaltung zusammen. Ich habe einige nicht festgeschriebene Plist-Dateien umbenannt und verschoben und diesen Fehler erhalten. Ich benutze svn. Ich konnte dies beheben, Source Control - Commitindem ich alte referenzierte Dateien entfernte.

Hahnemann
quelle
Ich habe das Problem und verwende keine Versionskontrolle, die XCode kennt. Alle Versionskontrollen erfolgen außerhalb von XCode.
Martin