Question Avertissement Xcode: "Plusieurs commandes de construction pour le fichier de sortie"


Je reçois une erreur comme celle-ci:

[WARN] Avertissement: Plusieurs commandes de construction pour le fichier de sortie /Developer/B/Be/build/Release-iphonesimulator/BB.app/no.png

[WARN] Avertissement: Plusieurs commandes de construction pour le fichier de sortie /Developer/B/Be/build/Release-iphonesimulator/BB.app/d.png

[WARN] Avertissement: Plusieurs commandes de construction pour le fichier de sortie /Developer/B/Be/build/Release-iphonesimulator/BB.app/n.png

Mais j'ai vérifié Xcode et je ne vois aucune copie de ces fichiers. Comme ce post Dans les listes de diffusion Apple, il n'y a pas de doublons.


470
2018-04-27 01:52


origine


Réponses:


Dans le navigateur de projet, sélectionnez votre fichier de projet Xcode. Cela vous montrera les paramètres du projet ainsi que les cibles dans le projet. Regardez dans la phase de construction "Copier les ressources de l'ensemble". Vous devriez trouver les fichiers incriminés dans cette liste deux fois. Supprimez la référence en double.

Xcode se plaint que vous essayez de regrouper le même fichier avec votre application à deux reprises.


776
2018-04-14 06:28



Cela est facilement causé lorsque vous ajoutez des sous-projets basés sur git. Xcode n'est pas assez intelligent pour ignorer le sous-dossier .git même si vous ne pouvez pas le voir depuis finder, il sera donc très confus qu'il existe plusieurs fichiers nommés "master" ou "exclude", (fichiers repo git standard). Avec Xcode4, allez dans le projet (racine de l’arbre de gauche) puis cliquez sur la cible de votre application et développez «Copier les ressources du bundle», puis supprimez toutes les références à .git.


124
2018-03-12 20:05



En fait, la réponse à cette question est très simple.

Dans votre xcode, recherchez les fichiers qui déclenchent l'avertissement et supprimez-le.

Le Xcode affichera seulement une référence de ce fichier dans les résultats de recherche, mais ne vous arrêtez pas là, allez-y et supprimez-le. (mieux vaut sauvegarder votre fichier de projet avant de l'effacer)

Maintenant, faites un build, vous verrez l'avertissement supprimé. (cette réponse est pour une version précédente de xcode)


102
2018-04-30 21:11



Ce n'est pas un bogue Xcode, bien que le message d'avertissement ne soit pas assez utile pour décrire la cause réelle.

Ce message d'erreur se produit lorsque vous avez plusieurs fichiers dans votre projet qui ont le même nom. Vous devez simplement supprimer ou renommer les fichiers avec des noms en double et le problème est résolu.


51
2017-12-21 06:22



Cela se produit si vous avez 2 fichiers portant le même nom dans le projet. Même si les fichiers sont dans des groupes dans XCode lorsque le projet est compilé, tous les fichiers se retrouvent dans le même répertoire. En d'autres termes, si vous avez /group1/image.jpg et /group2/image.jpg, le projet compilé n'aura qu'un des deux fichiers image.jpg.


25
2017-11-10 11:09



Comme mentionné précédemment, ce problème peut être vu si vous avez plusieurs fichiers avec le même nom, mais dans différents groupes (dossiers jaunes) dans le navigateur de projet. Dans mon cas, c'était intentionnel car j'avais plusieurs sous-répertoires avec chacun un "preview.jpg" que je voulais copier dans l'ensemble de l'application:

group references

Dans cette situation, vous devez vous assurer que Xcode reconnaît le annuaire référence (icône de dossier bleu), pas seulement les groupes.

Supprimez les fichiers incriminés et choisissez "Supprimer la référence" (afin de ne pas les supprimer complètement):

remove group references


Re-ajoutez-les au projet en les faisant glisser dans le navigateur de projet. Dans la boîte de dialogue qui apparaît, choisissez "Créer des références de dossier pour tous les dossiers ajoutés":

add as folder references


Notez que les fichiers ont maintenant une icône de dossier bleu dans le navigateur de projet:

folder references


Si vous regardez maintenant sous la section "Copier les ressources de l'ensemble" des phases de construction de la cible, vous remarquerez qu'il y a une seule entrée pour le dossier entier, plutôt que des entrées pour chaque élément contenu dans le répertoire. Le compilateur ne se plaindra pas des commandes de construction multiples pour ces fichiers.


16
2017-09-25 10:32



Ce n'est pas un bug. Les aides de Xcode peuvent vous aider. Sélectionnez la cible à gauche dans le navigateur de projet. Cliquez sur "Valider les paramètres" au bas des paramètres. Xcode vérifie les paramètres et supprime les doublons si possible.


15
2018-02-22 00:56



une autre version de cette situation peut se produire lorsqu'il y a des doublons dans le En-têtes phase de construction.

pour résoudre ce problème ...

  1. aller à la cible de votre projet
  2. choisir Build Phases
  3. choisir la Headers phase de construction
  4. entrez le nom indiqué dans l'avertissement
  5. remarquez les deux (ou plus) éléments
  6. trouvez le +|- boîtes dans le coin inférieur gauche
  7. sélectionnez l'un des éléments et cliquez sur - bouton

13
2017-10-11 18:03



Dans mon cas, le problème était dû au même nom de cible et de dossier dans un groupe.

Renommez simplement le fichier ou le dossier en conflit pour résoudre le problème.


7
2017-08-21 16:28



Je suis assez sûr que cela peut être causé par un bug XCode 4, au moins dans les cas où je l'ai rencontré.

Cela arrive si vous ajoutez plusieurs fichiers dépendants de la langue au projet en même temps. Je l'ai trouvé en regardant à travers les différences git. Je n'ai rien fait dans le commit mais j'ajoute de nouveaux fichiers nib localisés. Mais en revenant sur la différence du fichier project.pbxproj, il a montré un tas de nouvelles références en double ajoutées pour les fichiers qui étaient déjà dans le projet avant. Les fichiers qu'il a fait cela aussi me semblaient aléatoires.

J'ai reproduit ce même comportement exact plusieurs fois.

Supprimer ces fichiers du projet ne résout pas le problème car il supprime uniquement la référence d'origine et laisse les doublons. La seule façon de le réparer est de revenir en arrière et de recommencer à zéro, ou d'éditer manuellement le fichier de projet, ce qui est vraiment un bon moyen de le faire car il est difficile de dire quels sont les doublons à supprimer et vous devez le faire dans une tonne d'endroits différents.

Xcode 4 est juste une énorme déception pour moi.


5
2018-05-20 20:46



J'ai trouvé une solution assez simple pour cela:

  1. Sélectionnez le fichier à l'origine du problème dans le navigateur de projet
  2. Décochez l'appartenance cible de l'inspecteur de fichiers
  3. Construire le projet
  4. Revérifier l’adhésion cible pour le fichier à nouveau

L'avertissement est parti! Vérifiez cette image pour référence.

enter image description here


5
2017-08-28 02:05