Warnung: Die Erstellungsphase "Bundle-Ressourcen kopieren" enthält die Info.plist-Datei dieses Ziels

269

Ich habe ein Projekt in zwei Builds aufgeteilt und jedem eine plistDatei gegeben. Alles funktioniert gut, aber ich bekomme immer wieder diese Build-Warnung:

Warnung: Die Erstellungsphase "Bundle-Ressourcen kopieren" enthält die Info.plist-Datei 'MyApp-Info.plist' dieses Ziels.

Ich bekomme das, wenn ich versuche zu bauen MyApp. Das Erstellen für das zweite Ziel gibt den gleichen Fehler aus (mit SecondTarget-Info.plistin der Warnung). Ich bin nicht sicher, warum es eine Warnung ist, da ich möchte, dass der Build diese .plistDatei enthält. Jede der .plistDateien hat eine Zielmitgliedschaft (für ihren eigenen Build).

Was bedeutet diese Warnung? Gibt es eine Möglichkeit, es verschwinden zu lassen?

Nevan König
quelle
Sie müssen nicht jedem Ziel Info.plist hinzufügen. Stattdessen in jeder Ziel-Build-Einstellung -> Verpackung -> Info.plist-Datei -> den Speicherort der Ziel-Info.plist
onmyway133

Antworten:

595

https://developer.apple.com/library/content/qa/qa1649/_index.html

Auszug:

Sie erhalten diese Warnung, weil Sie wahrscheinlich Ihre Info.plist-Datei zu Ihrer Erstellungsphase für Copy Bundle Resources hinzugefügt haben (siehe Abbildung)

Geben Sie hier die Bildbeschreibung ein

Die Build-Einstellung INFOPLIST_FILE gibt den Namen der Info.plist an, die Ihrem Ziel zugeordnet ist. Beim Erstellen eines Ziels liest Xcode diese Build-Einstellung und kopiert die referenzierte Info.plist in Ihr Anwendungspaket. Da Xcode die Info.plist automatisch verarbeitet, sollten Sie sie nicht zu Ihrer Erstellungsphase für Copy Bundle Resources hinzufügen oder zu einem Zielmitglied machen.

Um diese Warnung zu beheben, wählen Sie Ihre Info.plist aus der Phase zum Erstellen von Bundle-Ressourcen kopieren aus (siehe Abbildung 1) und klicken Sie dann auf die Schaltfläche Entfernen (-), um sie aus der Phase zu löschen.

JWWalker
quelle
Welches Problem wird verursacht, wenn dies nicht gelöst wurde?
Hasan
2
@ hasan83, Sie erhalten die Build-Warnung und das erstellte Produkt enthält eine zusätzliche Kopie von Info.plist, die etwas Platz beansprucht.
JWWalker
1
@kraftydevil, hat Ihr Projekt Unterprojekte, sodass sich die Warnung möglicherweise auf ein anderes Ziel als das von Ihnen untersuchte bezieht?
JWWalker
5
7 Jahre später immer noch relevant.
Jungledev
1
Die Lösung funktionierte für mich unter Xcode 9. @jungledev ist immer noch relevant, da Apple damit beschäftigt ist, Swift-Versionen zu aktualisieren, anstatt Xcode zu entwickeln, um uns die Lösung für die seltsamen Fehler seltsamer Zahlen zu zeigen.
MBH
65

So beheben Sie in xcode 4:

1) Entfernen Sie den Verweis auf Ihre info.plist-Datei, indem Sie sie auswählen und auf Löschen klicken.

2) Fügen Sie die Datei info.plist erneut hinzu, wählen Sie jedoch kein Ziel aus und deaktivieren Sie die Option "Zu Zielen hinzufügen".

Buchannon
quelle
2
Ich sehe jetzt, dass das NICHT-Deaktivieren von "Zu Zielen hinzufügen" beim Kopieren der Plist-Datei in mein Projekt der Grund war, warum ich dieses Problem bekam. Um das Problem zu beheben, habe ich die Schritte in der obigen "richtigen Antwort" befolgt, obwohl das Löschen und erneute Hinzufügen ohne Hinzufügen zu Zielen ebenfalls funktioniert hätte. =)
RanLearns
1
Dies hat bei mir in Xcode 6.4 funktioniert. Die ausgewählte Antwort hat nicht.
Kraftydevil
2

Falls jemand mit Xcode 3 darauf stößt, klicken Sie auf die .plist-Datei in der linken Spalte unter "Gruppen und Dateien" und deaktivieren Sie im oberen rechten Bereich das Kontrollkästchen neben dem Namen der .plist-Datei in der Spalte unter dem Bullseye-Symbol. Sie müssen den Editor verkleinern (Ansicht -> Editor verkleinern), um die Kontrollkästchen anzuzeigen.

Marc
quelle
0

Eine andere Lösung ist:

Möglicherweise haben Sie versehentlich eine Projektdatei aus den Kerndaten der "Zielmitgliedschaft" entfernt.

  1. Wählen Sie im Projektnavigator links Ihr Main.storyboard aus

  2. Gehen Sie zum "Dateiinspektor" (erste Registerkarte) rechts

  3. Suchen Sie die Liste "Zielmitgliedschaft"

  4. Aktivieren Sie das Kontrollkästchen

  5. Nehmen Sie sich etwas Zeit für die Verarbeitung, aber überprüfen Sie währenddessen auch die Dateien LaunchScreen.storyboard, .xcdatamodelid, Assets.xcassets und alle .swift-Dateien in Ihrem Projekt. Sie sollten alle für die Zielmitgliedschaft aktiviert sein.

  6. Hinweis: In der Info.plist sollte die aktivierte Zielmitgliedschaft nicht aktiviert sein.

Hoffe das hilft.

Ein Verrückter
quelle
-2

Nur als Anmerkung ... Ich werde versuchen, ein nettes Radar darüber zu schreiben, aber es ist wirklich seltsam, wie die Lokalisierung in Storyboards in Xcode gehandhabt wird. Wenn Sie nach "Im Finder anzeigen" fragen, wird Ihre ausgewählte .storyboard-Datei nicht angezeigt, sondern der enthaltende Ordner. Ich denke, das hat mit der Lokalisierung des Storyboards zu tun. Sobald ich das von Englisch auf Deutsch geändert hatte (und daher die Datei weder in root noch in en.lproj mehr hatte), bekam ich Probleme.

StuFF mc
quelle