Je reçois une erreur comme celle-ci:
[WARN] Avertissement: plusieurs commandes de génération pour le fichier de sortie /Developer/B/Be/build/Release-iphonesimulator/BB.app/no.png
[WARN] Avertissement: plusieurs commandes de génération pour le fichier de sortie /Developer/B/Be/build/Release-iphonesimulator/BB.app/d.png
[WARN] Avertissement: plusieurs commandes de génération 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 aucun doublon de ces fichiers. Comme le dit cet article dans les listes de diffusion Apple, il n'y a pas de doublons.
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 à partir du Finder, il sera donc très confus qu'il existe plusieurs fichiers nommés "master" ou "exclude" (fichiers git repo standard). Avec Xcode4, accédez au projet (racine de l'arborescence 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, vous ne devriez pas en avoir besoin dans votre application de toute façon.
la source
En fait, la réponse à cette question est assez simple.
Dans votre projet Xcode, recherchez les fichiers qui déclenchent l'avertissement et supprimez simplement l'un d'entre eux.
Xcode n'affichera qu'une seule 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. (il est préférable de faire une sauvegarde de votre fichier de projet avant de le supprimer)
Maintenant, reconstruisez le projet. L'avertissement devrait disparaître maintenant. (cette réponse concerne une version précédente de xcode)
la source
Ce n'est pas un bogue Xcode, bien que le message d'avertissement ne soit pas suffisamment 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 n'avez qu'à supprimer ou renommer les fichiers avec des noms en double et le problème est résolu.
la source
find . | grep -v \.git | rev | cut -d/ -f1 | rev | sort | uniq -c | sort
mais cela n'a pas résolu mon problèmeCela 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 seul des deux fichiers image.jpg.
la source
Comme mentionné précédemment, ce problème peut être constaté 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 chacun avec un "preview.jpg" que je voulais copier dans le bundle d'application:
Dans cette situation, vous devez vous assurer que Xcode reconnaît la référence du répertoire (icône de dossier bleue), pas seulement les groupes.
Supprimez les fichiers incriminés et choisissez "Supprimer la référence" (afin de ne pas les supprimer entièrement):
Ajoutez-les de nouveau 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":
Notez que les fichiers ont maintenant une icône de dossier bleue dans le navigateur de projet:
Si vous regardez maintenant sous 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 le dossier entier, plutôt que des entrées pour chaque élément contenu dans le répertoire. Le compilateur ne se plaindra pas de plusieurs commandes de génération pour ces fichiers.
la source
Ce n'est pas un bug. Les assistances Xcode peuvent vous aider. Sélectionnez la cible, à gauche dans le Navigateur du projet. Cliquez sur "Valider les paramètres" en bas des paramètres. Xcode vérifiera les paramètres et supprimera les doublons si possible.
la source
une autre version de cette situation peut se produire lorsqu'il y a des doublons dans les en- têtes phase de génération des .
pour résoudre ce problème ...
Build Phases
Headers
phase de construction+|-
cases dans le coin inférieur gauche-
boutonla source
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.
la source
J'ai trouvé une solution assez simple pour cela:
L'avertissement est parti! Vérifiez cette image pour référence.
la source
Je suis presque sûr que cela peut être causé par un bogue XCode 4, au 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 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 qui étaient déjà dans le projet auparavant. Les fichiers qu'il a fait cela aussi m'ont semblé 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. La seule façon de le corriger est de revenir en arrière et de recommencer, ou de modifier manuellement le fichier de projet, ce qui est un très bon moyen de le visser encore plus car il est difficile de dire quels doublons supprimer et vous devez le faire dans une tonne d'endroits différents.
Xcode 4 est juste une énorme déception pour moi.
la source
Cela se produit car ur "no.png" "d.png" et "n.png" sont dupliqués dans les ressources. Recherchez simplement supprimer les fichiers dupliqués et supprimez.
la source
L'erreur semble apparaître lorsque vous avez plusieurs références du même fichier. J'avais 2 fichiers du même nom et j'ai eu cette erreur. Lorsque je supprime l'un d'eux, l'erreur disparaît ..
la source
Encore une autre variation sur cette question. J'ai eu le même message, aucune des solutions suggérées précédemment n'a résolu le problème (je n'ai certainement eu qu'une seule copie du fichier incriminé par exemple).
Ma solution a été d'é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é. Ensuite, après avoir redémarré XCode, j'ai rajouté manuellement le fichier dans le 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.)
la source
Ouvrez le dossier Frameworks dans votre projet et assurez-vous qu'il n'y a que des cadres à l'intérieur. J'ai ajouté par erreur l'intégralité du dossier développeur!
la source
J'ai eu le même problème il y a quelques minutes. J'ai mentionné que la modification de la «cible de déploiement» a résolu mon problème.
la source
Pour moi, Target> Build Settings> Packaging> Product Name a été défini sur la même chose qu'une autre valeur référencée dans un fichier .plist personnalisé pour mon application. Finalement, en raison de notre processus de construction, cela crée des fichiers en double.
la source
Swift 3 : (mais aussi les anciennes versions) cela arrive quand j'ai des actifs avec des doublons. Renommez simplement les fichiers avec ce problème et tout se passe bien.
Cela peut arriver aussi lorsque vous avez fait un
Assets.xcassets
et que vous avez renommé les doublons avec de nouveaux noms, donc après le temps, vous l'avez oublié et supprimez-le pour ajouter les références de dossier, mais celui-ci revient au problème des fichiers en double.la source
Un moyen simple est,
la source
La clé était de faire
pod deintegrate
et derm *.workspace
déposer! Quelle perte de temps !la source
Utilisateurs React-Native. fichier goto -> paramètres de l'espace de travail -> système de construction -> changez-le en système de construction hérité. et il devrait bien se construire maintenant. React-Native n'est pas encore compatible avec le nouveau système de fichiers.
la source
Commentant use_frameworks! dans PodFile a fonctionné pour moi.
Remarque: a fait cela sur XCode 10.1, pod version 1.8.4
la source
Bien que je sois sûr qu'il y a une meilleure façon, nuking ne m'a pris que moins de 60 secondes, et c'est la seule chose que j'ai pu trouver qui a fonctionné.
git remote add <url.git>
, ougit remote set-url <url.git>
la source