Avertissement: la phase de génération des ressources du bundle de copie contient le fichier Info.plist de cette cible

270

J'ai séparé un projet en deux versions et donné à chacun un plistfichier. Tout fonctionne bien, mais je reçois toujours cet avertissement de build:

Avertissement: la phase de génération des ressources du bundle de copie contient le fichier Info.plist de cette cible 'MyApp-Info.plist'

Je l'obtiens quand j'essaye de construire MyApp. La construction de la deuxième cible donne la même erreur (avec SecondTarget-Info.plistdans l'avertissement). Je ne sais pas pourquoi c'est un avertissement, car je veux que la construction contienne ce .plistfichier. Chacun des .plistfichiers a un membre cible (pour sa propre version).

Que signifie cet avertissement? Existe-t-il un moyen de le faire disparaître?

nevan king
la source
Vous n'avez pas besoin d'ajouter Info.plist à chaque cible. Au lieu de cela, dans chaque paramètre de build cible -> Empaquetage -> Fichier Info.plist -> l'emplacement du Info.plist cible
onmyway133

Réponses:

595

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

Extrait:

Vous recevez cet avertissement car vous avez probablement ajouté votre fichier Info.plist à votre phase de génération de ressources de bundle de copie, comme illustré dans la figure

entrez la description de l'image ici

Le paramètre de génération INFOPLIST_FILE spécifie le nom du Info.plist associé à votre cible. Lors de la création d'une cible, Xcode lit ce paramètre de génération et copie le Info.plist référencé dans votre ensemble d'applications. Étant donné que Xcode traite automatiquement Info.plist, vous ne devez pas l'ajouter à la phase de génération de Copy Bundle Resources ni en faire un membre cible.

Pour résoudre cet avertissement, sélectionnez votre Info.plist dans la phase de génération de la ressource de bundle de copie, comme illustré à la figure 1, puis cliquez sur le bouton Supprimer (-) pour le supprimer de la phase.

JWWalker
la source
Quel problème sera causé si cela n'a pas été résolu?
hasan
2
@ hasan83, vous obtiendrez l'avertissement de construction et le produit construit contiendra une copie supplémentaire d'Info.plist prenant un peu de place.
JWWalker
1
@kraftydevil, votre projet comporte-t-il des sous-projets, de sorte que l'avertissement pourrait se référer à une cible autre que celle que vous avez examinée?
JWWalker
5
Toujours d'actualité, 7 ans plus tard.
jungledev le
1
La solution a fonctionné pour moi sur Xcode 9. @jungledev est toujours d'actualité car Apple est occupé à mettre à jour les versions de Swift plutôt que de développer Xcode pour nous montrer la solution pour les erreurs étranges des nombres étranges tout le temps.
MBH
65

Pour corriger dans xcode 4:

1) Supprimez la référence à votre fichier info.plist en le sélectionnant et en appuyant sur Supprimer.

2) Ajoutez à nouveau le fichier info.plist mais choisissez aucune destination et décochez l'option "ajouter aux cibles".

Buchannon
la source
2
Je vois maintenant que NON décocher "ajouter aux cibles" lors de la copie du fichier plist dans mon projet est la raison pour laquelle j'ai eu ce problème. Pour résoudre le problème, j'ai suivi les étapes de la "bonne réponse" ci-dessus, mais la suppression et l'ajout sans ajout aux cibles auraient également fonctionné. =)
RanLearns
1
Cela a fonctionné pour moi dans Xcode 6.4. La réponse sélectionnée ne l'a pas fait.
kraftydevil
2

Dans le cas où quelqu'un rencontre cela avec Xcode 3, pour le résoudre, cliquez sur le fichier .plist dans la colonne de gauche sous "Groupes et fichiers", et dans la zone supérieure droite, décochez la case à côté du nom du fichier .plist dans la colonne sous l'icône bullseye. Vous aurez besoin de l'éditeur dézoomé (Affichage -> Éditeur de zoom arrière) pour afficher les cases à cocher.

Marc
la source
0

Une autre solution est:

Vous avez peut-être accidentellement supprimé un fichier de projet des données principales de "l'adhésion cible".

  1. Sélectionnez votre Main.storyboard dans le navigateur de projet à gauche

  2. Allez dans "l'inspecteur de fichiers" (premier onglet) à droite

  3. Trouvez la liste "Membres cibles"

  4. Cochez la case

  5. Donnez-lui un peu de temps pour traiter, mais pendant que vous y êtes, vérifiez également LaunchScreen.storyboard, .xcdatamodelid, Assets.xcassets et tous les fichiers .swift de votre projet. Ils auraient tous dû être activés pour l'adhésion cible.

  6. Remarque: l'appartenance à la cible ne doit pas être cochée.

J'espère que cela t'aides.

Une folle
la source
-2

Juste une note ... Je vais essayer d'écrire un bon radar à ce sujet, mais c'est vraiment bizarre la façon dont la localisation est gérée dans les storyboards de Xcode. Si vous demandez "Afficher dans le Finder", vous ne verrez pas votre fichier .storyboard sélectionné mais plutôt son dossier contenant. Je pense que cela a à voir avec la localisation du Storyboard. Dès que je suis passé de l'anglais à l'allemand (et que je n'ai donc plus le fichier en root ou en.lproj), j'ai commencé à avoir des problèmes.

StuFF mc
la source