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 le dit cet article dans les listes de diffusion Apple, il n’y a pas de doublons.
Dans le navigateur de projet, sélectionnez votre fichier de projet Xcode. Cela vous montrera les parameters 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. Supprimer la référence en double.
Xcode se plaint que vous essayez de regrouper le même fichier avec votre application à deux resockets.
Cela se produit facilement 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’arborescence 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, vous ne devriez pas en avoir besoin dans votre application.
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 la recherche, mais ne vous arrêtez pas là, allez-y et supprimez-le. (mieux vaut sauvegarder votre fichier de projet avant la suppression)
Maintenant, faites un build, vous verrez l’avertissement supprimé. (cette réponse est pour une version précédente de xcode)
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 portent le même nom. Vous devez simplement supprimer ou renommer les fichiers avec des noms en double et le problème est résolu.
Cela se produit si vous avez 2 fichiers portant le même nom dans le projet. Même si les fichiers sont en 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.
Comme mentionné précédemment, ce problème peut être vu si vous avez plusieurs fichiers avec le même nom, mais dans des groupes différents (dossiers jaunes) dans le navigateur de projet. Dans mon cas, c’était intentionnel car j’avais plusieurs sous-répertoires, chacun avec un “preview.jpg” que je voulais copier dans le groupe d’applications:
Dans cette situation, vous devez vous assurer que Xcode reconnaît la référence du répertoire (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 entièrement):
Re-ajoutez-les au projet en les faisant glisser dans le navigateur de projet. Dans la boîte de dialog qui apparaît, choisissez “Créer des références de dossier pour tous les dossiers ajoutés”:
Notez que les fichiers ont maintenant une icône de dossier bleu dans le navigateur de projet:
Si vous examinez maintenant la section “Copier les ressources de l’ensemble” des phases de construction de la cible, vous remarquerez qu’il existe une seule entrée pour l’ensemble du dossier, 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.
Ce n’est pas un bug. Les aides Xcode peuvent vous aider. Sélectionnez la cible à gauche dans le navigateur de projet. Cliquez sur “Valider les parameters” en bas des parameters. Xcode vérifie les parameters et supprime les doublons si possible.
Une autre version de cette situation peut se produire lorsqu’il y a des doublons dans la phase de création des en- têtes .
pour résoudre ce problème…
Build Phases
Headers
+|-
dans le coin inférieur gauche -
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.
Je suis sûr que cela peut être causé par un bogue XCode 4, du moins dans les cas où je l’ai rencontré.
Cela se produit si vous ajoutez plusieurs fichiers dépendants de la langue au projet en même temps. J’ai découvert cela en regardant à travers les différences de git. Je n’ai rien fait dans le commit mais j’ai ajouté de nouveaux fichiers nib localisés. Mais en regardant la différence du fichier project.pbxproj, il a montré un tas de nouvelles références en double ajoutées pour les fichiers déjà présents dans le projet. Les fichiers qu’il faisait cela me semblaient aussi aléatoires.
J’ai reproduit ce même comportement exact plusieurs fois.
La suppression de ces fichiers du projet ne résout pas le problème car elle supprime uniquement la référence d’origine et laisse les doublons. Le seul moyen de le réparer est de revenir en arrière et de recommencer manuellement, ou d’éditer manuellement le fichier du projet, ce qui est un très bon moyen de le démanteler, car il est difficile de déterminer les doublons à supprimer. dans une tonne de lieux différents.
Xcode 4 est juste une énorme déception pour moi.
J’ai trouvé une solution assez simple pour cela:
L’avertissement est parti! Vérifiez cette image pour référence.
Cela se produit parce que ur “no.png” “d.png” et “n.png” sont dupliqués dans les ressources. Recherchez simplement les fichiers supprimés et supprimés.
L’erreur semble apparaître lorsque vous avez plus d’une référence du même fichier. J’ai eu 2 fichiers du même nom et j’ai eu cette erreur. Lorsque je supprime l’un d’eux, l’erreur disparaît.
Encore une autre variation sur cette question. J’ai reçu le même message, aucune des solutions proposées précédemment ne résout le problème (par exemple, je n’avais qu’une seule copie du fichier incriminé).
Ma solution consistait à éditer le fichier project.pbxproj dans un éditeur de texte (après avoir quitté XCode et sauvegardé le fichier bien sûr) et à supprimer toutes les références au fichier incriminé. Puis, après avoir redémarré XCode, j’ai ajouté manuellement le fichier au projet et tout allait bien.
(Je soupçonne que ce problème m’est arrivé à cause d’un manuel, c’est-à-dire: non-XCode, fusion du fichier de projet.)
Ouvrez le dossier Frameworks dans votre projet et assurez-vous qu’il n’y a que des frameworks à l’intérieur. J’ai ajouté par erreur tout le dossier Developer!
J’ai eu le même problème il y a quelques minutes. J’ai mentionné la modification de la «cible de déploiement» pour résoudre mon problème.
Pour moi, la cible> Paramètres de construction> Empaquetage> Nom du produit a été définie sur la même chose qu’une autre valeur référencée dans un fichier .plist qui était personnalisé pour mon application. Finalement, en raison de notre processus de génération, cela crée des fichiers en double.
Swift 3 : (mais aussi les anciennes versions) ça arrive quand j’ai des actifs avec des doublons. Il suffit de renommer les fichiers avec ce problème et tout se passe bien.
Cela pourrait arriver aussi lorsque vous avez créé un Assets.xcassets
et que vous avez renommé les doublons avec de nouveaux noms, après que vous les avez oubliés et que vous les ayez supprimés pour append les références de dossier, mais celui-ci retourne au problème des doublons.