33 votes

Échec de la construction pour React Native iOS, erreur "Multiple commands produce" (plusieurs commandes produites)

Nous travaillions sur un projet react native. L'un des membres de mon équipe a ajouté quelques modules natifs sur Linux et a lié Android. J'essaie alors de lier des choses dans iOS mais la construction échoue toujours avec ce type de trace d'erreur. Le projet Android se construit normalement.

J'ai supprimé xyz.xcworkspace y Podfile.lock puis a essayé pod install .
J'ai également essayé de supprimer mon node_modules et ensuite yarn install suivi de yarn link .

react-native-cli: 2.0.1  
react-native: 0.61.4  
yarn 1.19.1
Pod 1.8.4
XCode Version 11.2.1 (11B500)
macOS Catalina 10.15.1 (19B88)

Avertissement xyz

duplicate output file '/Users/user/Library/Developer/Xcode/DerivedData/xyz-hhesslamjsqmbobykhskliclusph/Build/Products/Debug-iphonesimulator/xyz.app/AntDesign.ttf' on task: PhaseScriptExecution [CP] Copy Pods Resources /Users/faisal/Library/Developer/Xcode/DerivedData/xyz-hhesslamjsqmbobykhskliclusph/Build/Intermediates.noindex/xyz.build/Debug-iphonesimulator/xyz.build/Script-47F818C57EEC47EA3303EA1B.sh

Erreurs dans l'espace de travail xyz

Multiple commands produce '/Users/user/Library/Developer/Xcode/DerivedData/xyz-hhesslamjsqmbobykhskliclusph/Build/Products/Debug-iphonesimulator/xyz.app/Zocial.ttf':
1) Target 'xyz' (project 'xyz') has copy command from '/Users/user/Desktop/xyz/native/node_modules/react-native-vector-icons/Fonts/Zocial.ttf' to '/Users/user/Library/Developer/Xcode/DerivedData/xyz-hhesslamjsqmbobykhskliclusph/Build/Products/Debug-iphonesimulator/xyz.app/Zocial.ttf'
2) That command depends on command in Target 'xyz' (project 'xyz'): script phase “[CP] Copy Pods Resources”

Il y a plusieurs erreurs et avertissements de ce type, mais ils ont le même format avec des noms de fichiers différents.

66voto

Hillkim Henry Points 1824

Le problème est que vous avez des ressources dupliquées à cause des liens automatiques RN. Pour résoudre ce problème

  1. Cliquez sur Votre projet Xcode Nom sur les dossiers de projets
  2. Naviguez jusqu'à Phases de construction onglet
  3. Faites défiler vers le bas jusqu'à Ressource de l'offre groupée de copies s dérouler pour développer
  4. Faites défiler vers le bas jusqu'à Ressources Copy Pod et comparez les doublons avec ceux qui se trouvent sur la page Ressources de l'offre groupée de copies
  5. Supprimer les doublons sur Ressources de l'offre groupée de copies pas sur Ressources Copy Pod
  6. Reconstruisez votre projet. Voir aussi question

26voto

Mr-Tc Points 41

Le problème semble être causé par la nouvelle fonctionnalité d'autolinking dans React Native 0.60 - la ligne use_native_modules ! dans ios/Podfile signifie que lorsque vous faites une installation de pod, tous les pods trouvés dans node_modules sont automatiquement liés. Cela signifie que les liens vers tous les fichiers de police sont ajoutés à [CP] Copy Pods Resources lorsque vous faites une installation de pod.

Mais ne vous inquiétez pas si vous êtes nouveau, je vous invite à consulter cette image pour une meilleure solution.

  1. Ouvrez votre projet ios dans Xcode
  2. Suivez ensuite les étapes suivantes dans l'image enter image description here

3. vous verrez Fichiers d'entrée y fichiers de sortie il suffit de supprimer les doublons de la base de données fichier de sortie 4. exécuter react-native exécuter-ios

et voilà :) des heures de gagnées

6voto

Manav Points 338

Vous devez le supprimer manuellement de la ressource "Copy Bundle".

Else Vous devez changer les paramètres de construction pour construire en utilisant la construction héritée.

Vous trouverez la ressource Copy Bundle sous les phases de construction.

enter image description here

-1voto

Ajeng Points 3

J'ai pu résoudre le problème en suivant cette étape. Tout ce que vous avez à faire est d'ouvrir votre dossier de projet -> aller à /ios et ouvrir le fichier YourProjectName.xcodeproj puis suivre ce qui suit https://lifesaver.codes/answer/error-multiple-commands-produce-in-xcode-10 Il suffit ensuite de supprimer toutes les polices de caractères et d'exécuter la commande npx react-native run-ios

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X