Ich erhalte folgende Fehlermeldung:
[WARNUNG] Warnung: Mehrere Build-Befehle für die Ausgabedatei /Developer/B/Be/build/Release-iphonesimulator/BB.app/no.png
[WARN] Warnung: Mehrere Build-Befehle für die Ausgabedatei /Developer/B/Be/build/Release-iphonesimulator/BB.app/d.png
[WARNUNG] Warnung: Mehrere Build-Befehle für die Ausgabedatei /Developer/B/Be/build/Release-iphonesimulator/BB.app/n.png
Aber ich habe Xcode überprüft und sehe überhaupt keine Duplikate solcher Dateien. Wie dieser Beitrag in den Apple Mailing-Listen sagt, gibt es keine Duplikate.
Dies kann leicht verursacht werden, wenn Sie git-basierte Teilprojekte hinzufügen. Xcode ist nicht intelligent genug, um den Unterordner .git zu ignorieren, obwohl Sie ihn im Finder nicht sehen können. Daher ist es sehr verwirrend, dass mehrere Dateien mit den Namen "master" oder "exclude" (Standard-Git-Repo-Dateien) vorhanden sind. Gehen Sie mit Xcode4 zum Projekt (Stammverzeichnis des linken Baums), klicken Sie auf Ihr App-Ziel und erweitern Sie "Bundle-Ressourcen kopieren". Entfernen Sie dann alle Verweise auf .git. Sie sollten sie sowieso nicht in Ihre App einbinden müssen.
quelle
Die Antwort darauf ist eigentlich ganz einfach.
Suchen Sie in Ihrem Xcode-Projekt nach den Dateien, die die Warnung auslösen, und löschen Sie einfach eine davon.
Xcode zeigt nur eine Referenz dieser Datei in den Suchergebnissen an, aber hören Sie hier nicht auf, sondern löschen Sie sie. (Es ist besser, eine Sicherungskopie Ihrer Projektdatei zu erstellen, bevor Sie sie löschen.)
Erstellen Sie nun das Projekt erneut. Die Warnung sollte jetzt verschwinden. (Diese Antwort gilt für eine frühere Version von xcode)
quelle
Dies ist kein Xcode-Fehler, obwohl die Warnmeldung nicht hilfreich genug ist, um die wahre Ursache zu beschreiben.
Diese Fehlermeldung tritt auf, wenn Ihr Projekt mehrere Dateien mit demselben Namen enthält. Sie müssen nur die Dateien mit doppelten Namen löschen oder umbenennen, und das Problem ist behoben.
quelle
find . | grep -v \.git | rev | cut -d/ -f1 | rev | sort | uniq -c | sort
. Dies hat mein Problem jedoch nicht gelöstDies geschieht, wenn Sie zwei Dateien mit demselben Namen im Projekt haben. Obwohl sich Dateien beim Kompilieren des Projekts in XCode in Gruppen befinden, befinden sich alle Dateien im selben Verzeichnis. Mit anderen Worten, wenn Sie /group1/image.jpg und /group2/image.jpg haben, enthält das kompilierte Projekt nur eine der beiden image.jpg-Dateien.
quelle
Wie bereits erwähnt, tritt dieses Problem auf, wenn Sie mehrere Dateien mit demselben Namen, jedoch in verschiedenen Gruppen (gelbe Ordner) im Projektnavigator haben. In meinem Fall war dies beabsichtigt, da ich mehrere Unterverzeichnisse mit jeweils einer "Vorschau.jpg" hatte, die ich in das App-Bundle kopieren wollte:
In dieser Situation müssen Sie sicherstellen, dass Xcode die Verzeichnisreferenz (blaues Ordnersymbol) erkennt , nicht nur die Gruppen.
Entfernen Sie die fehlerhaften Dateien und wählen Sie "Referenz entfernen" (damit wir sie nicht vollständig löschen):
Fügen Sie sie erneut zum Projekt hinzu, indem Sie sie zurück in den Projektnavigator ziehen. Wählen Sie im angezeigten Dialogfeld "Ordnerreferenzen für hinzugefügte Ordner erstellen":
Beachten Sie, dass die Dateien jetzt im Projektnavigator ein blaues Ordnersymbol haben:
Wenn Sie jetzt im Abschnitt "Bundle-Ressourcen kopieren" der Erstellungsphasen des Ziels nachsehen, werden Sie feststellen, dass für den gesamten Ordner ein einzelner Eintrag vorhanden ist und nicht für jedes Element im Verzeichnis Einträge. Der Compiler wird sich nicht über mehrere Build-Befehle für diese Dateien beschweren.
quelle
Dies ist kein Fehler. Xcode-Assistenten können Ihnen helfen. Wählen Sie das Ziel links im Projektnavigator aus. Klicken Sie unten in den Einstellungen auf "Einstellungen überprüfen". Xcode überprüft die Einstellungen und entfernt nach Möglichkeit Duplikate.
quelle
Eine andere Version dieser Situation kann auftreten, wenn sich in der Erstellungsphase der Header Duplikate befinden.
um dies zu beheben ...
Build Phases
Headers
Erstellungsphase+|-
Kästchen in der unteren linken Ecke-
Schaltflächequelle
In meinem Fall wurde das Problem durch den gleichen Namen von Ziel und Ordner innerhalb einer Gruppe verursacht.
Benennen Sie einfach die in Konflikt stehende Datei oder den Ordner um, um das Problem zu beheben.
quelle
Ich habe dafür eine ziemlich einfache Lösung gefunden:
Die Warnung ist weg! Überprüfen Sie dieses Bild als Referenz.
quelle
Ich bin mir ziemlich sicher, dass dies durch einen XCode 4-Fehler verursacht werden kann, zumindest in den Fällen, in denen ich darauf gestoßen bin.
Dies geschieht, wenn Sie dem Projekt mehrere sprachabhängige Dateien gleichzeitig hinzufügen. Ich habe das herausgefunden, indem ich mir die Git-Unterschiede angesehen habe. Ich habe nichts im Commit getan, als einige neue lokalisierte NIB-Dateien hinzuzufügen. Rückblickend auf den Unterschied in der Datei project.pbxproj wurden jedoch eine Reihe neuer doppelter Verweise für Dateien angezeigt, die bereits zuvor im Projekt enthalten waren. Die Dateien, die es auch tat, schienen mir zufällig.
Ich habe genau dasselbe Verhalten mehrmals reproduziert.
Das Löschen dieser Dateien aus dem Projekt behebt das Problem nicht, da nur die ursprüngliche Referenz gelöscht und die Duplikate belassen werden. Die einzige Möglichkeit, dies zu beheben, besteht darin, ein Commit zurückzugehen und von vorne zu beginnen oder die Projektdatei von Hand zu bearbeiten. Dies ist eine sehr gute Möglichkeit, sie noch weiter zu vermasseln, da es schwierig ist zu sagen, welche Duplikate entfernt werden müssen und Sie dies tun müssen an einer Menge verschiedener Orte.
Xcode 4 ist nur eine große Enttäuschung für mich.
quelle
Dies geschieht, weil ur "no.png" "d.png" und "n.png" in Ressourcen dupliziert werden. Suchen Sie einfach nach gelöschten Dateien löschen und löschen.
quelle
Der Fehler scheint aufzutreten, wenn Sie mehr als eine Referenz derselben Datei haben. Ich hatte 2 gleichnamige Dateien und bekam diesen Fehler. Wenn ich einen von ihnen lösche, verschwindet der Fehler.
quelle
Noch eine Variation zu diesem Thema. Ich hatte die gleiche Nachricht erhalten, keine der zuvor vorgeschlagenen Lösungen löste das Problem (ich hatte definitiv nur eine Kopie der fehlerhaften Datei zum Beispiel).
Meine Lösung bestand darin, die Datei project.pbxproj in einem Texteditor zu bearbeiten (nachdem ich XCode beendet und die Datei natürlich gesichert hatte) und alle Verweise auf die fehlerhafte Datei zu entfernen. Nachdem ich XCode erneut gestartet hatte, fügte ich die Datei manuell wieder in das Projekt ein und alles war in Ordnung.
(Mein Verdacht ist, dass mir dieses Problem aufgrund eines Handbuchs passiert ist, dh: Nicht-XCode, Zusammenführen der Projektdatei.)
quelle
Öffnen Sie den Ordner "Frameworks" in Ihrem Projekt und stellen Sie sicher, dass sich nur Frameworks darin befinden. Ich habe versehentlich den gesamten Entwicklerordner hinzugefügt!
quelle
Ich hatte vor Minuten das gleiche Problem. Ich habe erwähnt, dass das Ändern des Bereitstellungsziels mein Problem behoben hat.
quelle
Für mich wurde das Ziel> Build-Einstellungen> Verpackung> Produktname auf den gleichen Wert gesetzt wie ein anderer Wert, auf den in einer .plist-Datei verwiesen wird, die für meine App benutzerdefiniert war. Aufgrund unseres Erstellungsprozesses werden möglicherweise doppelte Dateien erstellt.
quelle
Swift 3 : (aber auch die älteren Versionen) Es passiert, wenn ich Assets mit Duplikaten habe. Benennen Sie einfach die Dateien mit diesem Problem um und alles läuft gut.
Dies kann auch passieren, wenn Sie ein
Assets.xcassets
Duplikat erstellt und die Duplikate mit neuen Namen umbenannt haben. Nach einiger Zeit haben Sie es vergessen und entfernt, um die Ordnerreferenzen hinzuzufügen, aber dieses kehrt zum Problem der Duplikatdateien zurück.quelle
Ein einfacher Weg ist,
quelle
Der Schlüssel war zu tun
pod deintegrate
und zurm *.workspace
archivieren! Was für eine Zeitverschwendung !quelle
React-Native-Benutzer. gehe zu Datei -> Arbeitsbereichseinstellungen -> Build-System -> ändere es in Legacy-Build-System. und es sollte jetzt gut bauen. React-Native ist noch nicht mit dem neuen Dateisystem kompatibel.
quelle
Kommentieren use_frameworks! in PodFile hat für mich gearbeitet.
Hinweis: Dies geschah unter XCode 10.1, Pod-Version 1.8.4
quelle
Obwohl ich mir sicher bin, dass es einen besseren Weg gibt, dauerte das Nuking nur weniger als 60 Sekunden und war das einzige, was ich finden konnte, dass es funktionierte.
git remote add <url.git>
, odergit remote set-url <url.git>
quelle