webentwicklung-frage-antwort-db.com.de

Fehlende Dateiwarnungen werden nach dem Upgrade auf Xcode 4 angezeigt

Ich habe kürzlich ein Upgrade auf Xcode 4 durchgeführt (was ein großartiges Upgrade ist), aber jetzt erhalte ich einige Warnungen, die ich vorher nicht erhalten habe. Ich habe Foren und andere SO Posts durchgesehen, bin aber nicht auf die Frage gekommen, wie das behoben werden kann.

Die Warnungen, die ich erhalte, sind Warnungen auf Projektebene für eine fehlende Datei. Die angezeigten Dateien wurden aus der Projektnavigatoransicht gelöscht (auch das Löschen aus dem Dateisystem). Es scheint jedoch immer noch irgendwie mit dem Projekt verknüpft zu sein, obwohl die Datei nicht mehr im Projektnavigator angezeigt wird.

Ich habe mich umgesehen und nicht gefunden, wie ich Xcode mitteilen kann, dass diese Dateien weg sind. Hören Sie auf, mir Warnungen zu geben. Hier ist ein Screenshot, den ich in Xcode4, aber noch nie in Xcode 3 bekommen habe.

Missing file warning Xcode 4

165
Scott

Diese Lösungen sind viel zu schwierig. Das Problem ist, dass Sie das Projekt aus dem Dateisystem entfernt haben, SVN jedoch denkt, dass es noch vorhanden ist. Das Trennen des Projekts von SVN funktioniert genauso wie das Entfernen von .svn-Ordnern, ABER das Repository wird zerstört!

Es ist viel einfacher, die Konsole zu öffnen, zu Ihrem Ordner zu navigieren ("cd/pathToYourFolder") und den folgenden Befehl einzugeben:

svn delete nameOfMissingFile

Wenn der Name Ihrer fehlenden Datei das @ -Zeichen enthält (z. B. retina-spezifisches Bildmaterial), vergewissern Sie sich, dass der Dateiname mit dem @ -Zeichen endet:

svn delete [email protected]@

Für GIT-Repositorys:

git rm nameOfMissingFile

297
Sulthan

In XCode 4.2. + (Möglicherweise in 4+) können Sie manuelle Arbeit und Befehlszeile vermeiden:

  1. Projekt auswählen Projektnavigator (Befehl - 1)
  2. Wählen Sie "Datei - Quellcodeverwaltung - Bestätigen"
  3. Wählen Sie oben im linken Bereich mit drei Symbolen das mittlere aus - Dateiansicht
  4. Sie sehen die Liste aller fehlenden Dateien
  5. Wählen Sie alle aus und klicken Sie mit der rechten Maustaste - Änderungen verwerfen. Dadurch werden alle gelöschten Dateien vom SVN-Server wiederhergestellt und in Ihrem lokalen SVN-Ordner abgelegt
  6. Ziehen Sie diese Dateien in das XCode-Projekt und legen Sie sie dort ab.
  7. Löschen Sie diese Dateien ordnungsgemäß über XCode (wählen Sie Dateien aus und klicken Sie mit der rechten Maustaste auf Löschen).
  8. Übernehmen Sie das Projekt

Und das ist es :)

All diese fiesen Warnungen sind weg!

Zusätzlich für Xcode 6 +: Nachdem Sie das mittlere Symbol für die Dateiansicht ausgewählt haben, können Sie das Kontrollkästchen links anklicken. Dies markiert sie beim nächsten Commit als gelöscht für SVN!

55
Alex

In Xcode5 und Xcode6 Die folgenden Schritte haben bei mir funktioniert

Xcode -> Preferences -> Source Control -> uncheck Enable Source Control

dann

Xcode -> Preferences -> Source Control -> check Enable Source Control

50
Shamsudheen TK

Dies hat etwas mit versteckten .svn-Ordnern in Ihrem Projekt zu tun.

Ich habe dieses Problem gelöst, indem ich das Projekt von svn getrennt habe.

ein. Öffnen Sie das Terminal und geben Sie die folgenden Befehle ein:

defaults write com.Apple.Finder AppleShowAllFiles TRUE


killall Finder

Auf diese Weise können Sie die .svn-Ordner in Ihrem Projekt anzeigen

b. Löschen Sie jeden .svn-Ordner in Ihren Projektordnern/Unterordnern

c. Versteckte Dateien wieder aktivieren:

defaults write com.Apple.Finder AppleShowAllFiles FALSE

killall Finder

d. Jetzt ist Ihr Projekt von svn getrennt und es treten keine Build-Probleme mehr auf.

e. Fügen Sie Ihr Projekt erneut zu svn oder was auch immer hinzu.

Ich bin selbst ein Anfänger und habe mich auf diese Weise mit diesem Problem befasst. Daher bin ich mir nicht sicher, ob dies der beste Weg ist. Jedenfalls wurde das Problem gelöst.

27
Robert Neagu

Das hat bei mir funktioniert:

File -> Source Control -> Hide Working Copy Status

dann

File -> Source Control -> Show Working Copy Status

9
Tyson

Ich habe es folgendermaßen gelöst:

  1. Überprüfen Sie den Pfad zu der fehlenden Datei.
  2. Erstellen Sie fehlende Dateien an geeigneten Stellen in Ihrem Projektverzeichnis
  3. Fügen Sie sie Ihrem Projekt mit "Dateien zu" Projekt "hinzufügen" hinzu und erstellen Sie nur Referenzen (kopieren Sie die Dateien nicht)
  4. Die Warnungen sollten an dieser Stelle verschwinden.
  5. Löschen Sie die Dateien in Xcode, indem Sie auf "Löschen" anstatt auf "Nur Referenz löschen" klicken.
  6. Sie sind fertig.
6
askoric

Ich hatte auch dieses Problem und als user151215 hat es IS aufgrund von .svn-Ordnern beschrieben.

Ich hatte einen alten .svn-Ordner, nicht im Projekt selbst, sondern im übergeordneten Projektordner.

der anstößige .svn-Ordner enthält eine Eintragsdatei, die Ihre fehlenden Dateien enthält. Sie können also Teminal verwenden und nach einem fehlenden Dateinamen suchen, z. grep -lir BagController.m yourRootDevDir/*

einfacher als das Aktivieren von versteckten Dateien im Finder, verwenden Sie einfach das Terminal. cd zum entsprechenden Verzeichnis und mv .svn ~/.Trash

Hoffe das hilft!

4
Nick H247

Ich hatte diesen Fehler und fand keine andere Möglichkeit, ihn zu beheben, als eine leere Datei an dieser Position zu erstellen und sie dann zu löschen. Dies geschah mit Dateien, die ich aus dem Projekt gelöscht hatte, und das manuelle Bereinigen, Erstellen und Löschen des abgeleiteten Datenverzeichnisses funktionierte ebenfalls nicht. Ich glaube, es ist ein Fehler, und es kann ziemlich schmerzhaft sein, wenn es mit mehr als ein paar Dateien passiert.

4
Jano

Gehen Sie in das entsprechende Verzeichnis und führen Sie Folgendes aus:

svn revert fileName
4
Shaun McCarthy

Ich habe den folgenden Weg gewählt, um mit dem Problem umzugehen:

Starten Sie das Terminal und wechseln Sie in das Projektverzeichnis. (Beispiel: cd /Users/Mauro/Src/Pippero-1.2/)

Geben Sie dann den folgenden Befehl ein:

find . -name .svn -exec rm -rf { } \;

der Befehl sucht rekursiv nach Dateien (und Ordnern) mit dem Namen .svn und löscht sie

3
Mauro Delrio

Durch Deaktivieren von SVN in Xcode werden diese Probleme vermieden (vorausgesetzt, Sie verwalten Ihr Repository mit einem anderen SVN-Tool). Siehe diese Frage:

Können Sie die Integration der Versionskontrolle in Xcode 4 deaktivieren?

Offensichtlich ist dies möglicherweise nicht praktikabel, wenn es andere Xcode-Projekte gibt, für die Sie SVN verwenden möchten .

3
occulus

Ich benutze svn und schaffe es, dieses Problem durch zu lösen

svn delete pathToMissingFile

dadurch werden die lokale SVN-Kopie der fehlenden Datei sowie die Kopie im Remote-Repository entfernt.

oder

svn revert pathToMissingFile

dadurch werden Änderungen an der fehlenden Datei verworfen, was bedeutet, dass die fehlende Datei wieder an ihren ursprünglichen Speicherort verschoben wird.

2
Jibeex

All das hat nicht funktioniert, um das gleiche Problem zu lösen, das ich hatte. Bei einer Suche wurde mir klar, dass das Problem mit SVN-Konflikten zusammenhängt.

Ich fand heraus, dass es Konflikte mit der Befehlszeile gab:

svn status

Dann mussten alle in Konflikt stehenden Dateien aufgelöst werden

svn resolved filename1 filename2 ...

Sobald die Konflikte gelöst waren, wurden die Warnungen von Xcode entfernt

1
gfrigon

Es ist sehr einfach,

Xcode -> Preferences -> Source Control -> uncheck Enable Source Control

und Vergiss nicht zu tun cmd+shift+k

  1. Übernehmen und Übertragen Sie Ihre Änderungen.
  2. Starten Sie Xcode neu.
1
quemeful

Die Antwort von Alex hat mein Problem mit fehlenden Dateien behoben.

Ich hatte ein anderes Problem (obwohl es nicht mit fehlenden Dateien zusammenhängt, denke ich, dass dies das bessere Thema wäre)

  1. Ich musste eine Reihe von Bildern in mein Projekt kopieren.
  2. Ich habe einfach eine Gruppe erstellt (obwohl ich weiß, dass diese Gruppe nicht dem physischen Ordner zugeordnet ist) und die Bilder in die Gruppe gezogen (ausgewählte Option "Kopieren nach ...").
  3. SVN-Status zeigte alle von ihnen in "A".
  4. Als ich nun das eigentliche Dateisystem betrat, stellte ich fest, dass alle Bilder in den Stammordner meines Projekts kopiert wurden. Da es nicht gut aussah, habe ich einen physischen Ordner innerhalb des Bilderordners in meinem Projekt erstellt und alle hinzugefügten Bilder dorthin kopiert.
  5. SVN zeigte dann alle Dateien in rot.
  6. Ich habe die Referenzen aller roten Dateien gelöscht.
  7. Mit der Option "Datei hinzufügen" habe ich dann die Bilder aus dem neu erstellten Ordner hinzugefügt.
  8. Jetzt zeigt SVN den Status der Dateien nicht als "A" an, und ich kann sie auf keinen Fall einchecken.
  9. Viele Schritte ausprobiert, wie sie aus einem anderen Ordner usw. wieder hinzuzufügen, aber es gab kein Glück.

Ich habe dieses Problem behoben, indem ich direkt in das Repository gegangen bin und ein neues Verzeichnis unter Images erstellt habe, sodass sich der physische Ordner jetzt auf dem SVN-Server befindet

Ich habe dann ein Update der Quelle durchgeführt und das neu erstellte Verzeichnis in meiner Arbeitskopie abgelegt (obwohl es nicht zum Projekt hinzugefügt wurde).

Ich habe dann die Bilder in dieses Verzeichnis kopiert und sie mit der Option "Datei hinzufügen" zum Projekt hinzugefügt, wodurch ich wieder den Status "A" hatte und die Dateien einchecken konnte.

Ich wollte das nur teilen ... weil es viel Zeit von mir gekostet hat.

-anoop

0
anoop4real

Überblick:

In meinem Fall gab es ein xcode-Projekt namens Sample im folgenden Ordnerpfad /folder1/folder2.

Es gab eine .git - Datei in /folder1/folder2/Sample/, Die erwartet wird.

Ursache:

Es gab eine andere .git - Datei im übergeordneten Verzeichnis (/folder1), Die das Problem verursachte. Möglicherweise wurden die Ordner gelöscht, sodass die Datei .git Zurückblieb

Lösung

rm -rf /folder1/.git

Hinweis

Wenn das Verschieben Ihres Projekts an einen völlig neuen Speicherort das Problem behebt, bei dem in den übergeordneten Verzeichnissen der Hierarchie keine .git - Datei vorhanden war, ist dies ein Hinweis darauf, dass die oben beschriebene Lösung funktionieren könnte.

0
user1046037

Ich musste nichts tun. Ich habe meinen Code festgeschrieben und nach oben verschoben. XCODE ausgeschaltet. Zog es wieder runter und alles funktionierte einfach.

0
VBaarathi

Drücken Sie nach dem Erstellen Cmd + 7 und wählen Sie die letzte Build-Aktion aus. Sieht es ein bisschen wie guter alter Xcode aus? :) enter image description here

0
knuku

Löschen Sie die Datei nicht direkt in Ihrem .xcode-Ordner. Löschen Sie Dateien aus dem xcode project navigator. (Klicken Sie mit der rechten Maustaste auf diese Datei und wählen Sie In den Papierkorb verschieben.).

Um dieses Problem zu beheben, fügen Sie dieselben Dateien am selben Speicherort hinzu. Und aus dem Projektnavigator löschen.

0
Gowtham R

In meinem Fall

  1. Ich öffne einfach SvnX.
  2. Alle fehlenden Dateien sind rot markiert. Wählen Sie sie aus und löschen Sie sie.
  3. Dann waren alle Xcode-Warnungen weg.
0
Apoc