web-dev-qa-db-fra.com

Erreur Xcode 10: plusieurs commandes produisent

error: Multiple commands produce '/Users/uesr/Library/Developer/Xcode/DerivedData/OptimalLive-fxatvygbofczeyhjsawtebkimvwx/Build/Products/Debug-iphoneos/OptimalLive.app/Info.plist':
1) Target 'OptimalLive' has copy command from '/Users/uesr/Desktop/workSpace/SEALIVE/SeaLive1.1/OptimalLive/Info.plist' to '/Users/uesr/Library/Developer/Xcode/DerivedData/OptimalLive-fxatvygbofczeyhjsawtebkimvwx/Build/Products/Debug-iphoneos/OptimalLive.app/Info.plist'
2) Target 'OptimalLive' has copy command from '/Users/uesr/Desktop/workSpace/SEALIVE/SeaLive1.1/OptimalLive/Server/Masonry/Info.plist' to '/Users/uesr/Library/Developer/Xcode/DerivedData/OptimalLive-fxatvygbofczeyhjsawtebkimvwx/Build/Products/Debug-iphoneos/OptimalLive.app/Info.plist'
3) Target 'OptimalLive' has process command with input '/Users/uesr/Desktop/workSpace/SEALIVE/SeaLive1.1/OptimalLive/Info.plist'

l'exécution du code dans Xcode9 fonctionne, mais génère une erreur dans Xcode10.

354
make

Si vous obtenez cela à partir de la commande Ditto créant plusieurs instances du même nom (PAS le 'copy files' build phase), vous devrez peut-être modifier le Product Module Name.

  1. Cliquez sur votre cible Xcode se plaint
  2. Cliquez sur Build Settings
  3. Rechercher Product Module Name
  4. Changer le nom en quelque chose d'unique

Nous avons une cible de surveillance et quelques cibles de notification dans notre application. Je viens donc d'insérer des éléments tels que Extension à la fin du nom du module.

J'ai trouvé cette solution à l'origine ici: https://forums.developer.Apple.com/thread/103913

52
u2Fan

Le problème peut être dû à plusieurs fichiers Plist ou autres dans App-

Solution -> Cible ouverte -> phases de construction> Copier les ressources d'un ensemble et supprimer info.plist à partir de là.

 enter image description here

Remarque: Si vous avez également développé une application de surveillance, vous devrez également supprimer le plist de la surveillance et son extension.

619
Alok

J'ai trouvé la solution à cette erreur de construction. Pour tous ceux qui ont le même problème avec le système de construction Xcode 10, suivez les étapes ci-dessous pour résoudre ce problème:

  1. Dans Xcode, sélectionnez Fichier-> Paramètres du projet/espace de travail.
  2. Changez le système de compilation en Legacy Build System.

 enter image description here Cela résoudra le problème de construction avec le nouveau Xcode 10.

Si vous souhaitez utiliser le nouveau système de construction, vous pouvez trouver l'aide de dépannage à partir de cette page d'aide Apple Xcode .

J'espère que cela t'aides!

346
Akshay Sunderwani

Allez dans Xcode -> Fichier -> Paramètres de l'espace de travail. Vous trouverez un pop-up comme.

 enter image description here

Sélectionnez "Legacy Build System" dans la balise Build System . Appuyez sur "Done". 

Remarque: - Assurez-vous d'effacer votre projet avec "cmd + shift + alt + k" et "Données dérivées"

Construisez votre projet ça va marcher charme :)

134
Hardik1344

Essayez aussi . Xcode-> Fichier-> Paramètres du projet-> Construire le système -> Système de construction hérité.

En vérifiant le journal de construction, j'ai remarqué un avertissement:

note: Using new build system
note: Planning build
note: Constructing build description
Build system information
warning: The Copy Bundle Resources build phase contains this target's Info.plist file '/Users/<redacted>/Repositories/Whitesmith/optimize-ios/Carthage/Checkouts/WSStatusBarNotification/Miscellaneous/Info.plist'. (in target 'JDStatusBarNotification')

Donc, si c'est votre cas, allez simplement à votre cible:

  1. Phases de construction
  2. Copier la ressource groupée
  3. Supprimer info.plist.
31
AndrewSas

Essayez ceci:

Dans Xcode, sélectionnez Fichier-> Paramètres du projet/espace de travail.

Changez le système de compilation en Legacy Build System.

25
Akash Patel

J'expérimentais avec Core Data. J'ai construit un modèle de données pour un simple programme de liste de contrôle et généré les NSManagedObjects. Lorsque j'ai compilé le projet, j'ai eu l'erreur suivante: 

error: Multiple commands produce '/Users/myUSerName/Library/Developer/Xcode/DerivedData/myCoreDateExperiment-gzbslaqdwglkzxemijpdqmizgyzc/Build/Intermediates.noindex/ myCoreDateExperiment /Debug-iphonesimulator/ myCoreDateExperiment.build/Objects-normal/x86_64/CheckListItem+CoreDataProperties.o':
1) Target ' myCoreDateExperiment ' (project ' myCoreDateExperiment ') has compile command for Swift source files
2) Target ' myCoreDateExperiment ' (project ' myCoreDateExperiment ') has compile command for Swift source files

Le problème était que le modèle de données (CheckList.xcdatamodeld dans mon cas) figurait dans la liste "Compiler les sources". Le projet s'est compilé proprement lorsque je l'ai retiré de la liste. 

  1. Ouvrez le navigateur de projet et sélectionnez le projet (toute première entrée en haut)
  2. Sélectionnez votre cible de construction sous Cibles dans le volet "Projets et cibles".
  3. Sélectionnez les phases de construction option près du sommet
  4. Développez l'entrée "Compiler les sources" et recherchez le nom de votre modèle de données. Recherchez "xcdatamodeld" si vous avez du mal à le trouver. 
  5. Supprimer le modèle de la liste de compilation
  6. Assurez-vous que le modèle de données est inclus dans la liste "Copier les ressources de l'ensemble". Ajoutez-le s'il manque. 
21
Positron

Si vous utilisez CocoaPods, vous pouvez essayer de désintégrer les modules et de les réinstaller. Ça marche pour moi.

pod deintegrate

pod install

18
Ming Chu

J'ai eu le même problème, j'avais une application supplémentaire dans l'application principale et la copiais dans la ressource. Dans mon cas résolu comme: -

1) Cible -> 2) Créer les phases 2) Copier le fichier (n éléments) 3) Supprimer le fichier de copie.

L'application Helper copiée automatiquement dans Xcode 10.0.

 enter image description here

12
Prakash Jat

Essayez tout ce que cette option n'importe qui de cette option 3 travaillera pour vous, à coup sûr

Option 1: Remove all files from

Cible >> Construire les phases >> Compiler les sources

Cible >> Phases de construction >> Copier les ressources de l'ensemble

Option 2: Change the build system

Xcode-> Fichier-> Paramètres du projet-> Système de construction -> Système de construction hérité

Option 3: remove and update existing pod

pod cache propre PromisesObjC
pod cache propre PromisesSwift
cd [votre_rép_projet]
Pods rm -rf /
rm Podfile.lock
pod update 

I hope this will help you, Happy coding :-)
11
Shoaib Bagwan

Avant de commencer, notez que mon projet utilise Carthage en tant que gestionnaire de dépendance. 

Aucune des réponses existantes ici résolu mon problème. Ce qui a résolu le problème pour moi a été le suivant. 

Premièrement, j'ai remarqué que l'erreur de construction avait mis en évidence un framework en particulier. Ensuite, j'ai filtré App Target> Build Phases pour ce framework. J'ai remarqué que ce cadre était présent à la fois dans "Link Binary With Libraries" et "Embed Frameworks". Notant qu’aucun des cadres énumérés sous «Cadres intégrés» n’était géré par Carthage, j’ai supprimé le cadre en question de «Cadres intégrés». J'ai ensuite reconstruit mon projet et tout fonctionne bien, y compris la fonctionnalité activée par le framework en question.

9
palmi

Dans mon cas, PDFGenerator produisait un fichier info.plist, je viens de le supprimer.

 enter image description here

9
fullMoon

Aucune des solutions proposées ici ne fonctionnait pour moi. Cela était particulièrement dû à CocoaPods. J'utilisais auparavant Cocoapods 1.3.1. Le simple passage à la version 1.5.3 n'a pas résolu le problème immédiatement.

Les étapes que j'ai suivies étaient:

  1. Supprimer Podfile.lock
  2. Supprimer le répertoire Pods
  3. Supprimer les données dérivées et nettoyer
  4. Quitter Xcode
  5. Mettre à jour CocoaPods à 1.5.3
  6. Exécuter pod install
  7. Ouvrir un espace de travail et construire
9
Justin

Pas:

  1. Aller au fichier Xcode 
  2. Cliquez sur Paramètres de l'espace de travail
  3. Build System Select en tant que système de construction hérité
9
Sanjay Mali

Le problème que je rencontrais, c’est que j’avais accidentellement inclus Info.plist dans les paramètres du projet -> Phases de construction -> Copier les ressources du bundle pour ma cible. 

7
Austin

J'ai eu un tas d'avertissements Multiple commands produce - pas limité à la duplication info.plist dans une cible. Y compris les ressources localisées et les fichiers de chaîne, les en-têtes, etc.

Solution: supprimer toutes les duplications dans les membres cibles. 

7
Will Gwo

Une option qui a résolu mon problème est de changer de système de construction en système de construction hérité. Veuillez suivre les étapes suivantes dans Xcode 10+ enter image description here

enter image description here

5
Asad Ali Choudhry

J'ai eu ce problème quand j'avais un fichier avec le même nom dans deux cibles différentes. Pour une raison quelconque, l'un de ces fichiers faisait partie des deux cibles. Donc, fondamentalement, j'avais deux fichiers. Et ces deux fichiers appartenaient à une cible.

Il est logique qu'une cible ne puisse avoir qu'un seul nom de fichier par cible. Par conséquent, il suffit de décocher la case du membre cible pour le fichier qui n'était pas lié à la cible principale afin de résoudre le problème.

5
Charlie Fish

Passant à Xcode 10, des erreurs comme 

error: Multiple commands produce '/Users/uesr/Library/Developer/Xcode/DerivedData/OptimalLive-fxatvygbofczeyhjsawtebkimvwx/Build/Products/Debug-iphoneos/OptimalLive.app/Info.plist':

peut être résolu comme suit:

Allez à Xcode->File->Workspace/Project Settings-> Build System -> Legacy Build System.

5
Noor

Un de mes CocoaPods était périmé et a causé le problème. Est-ce qu'une mise à jour des pods a fonctionné correctement?.

Je crois que c’est peut-être le SDK LivePerson

4
ninjaneer

Allez dans la phase de construction du projet et supprimez info.plist des sources de compilation. Cela supprimera ce problème et le projet sera à nouveau actif.

 enter image description here

4
Aditya Sharma

J'utilise Carthage et Xcode 10.

Ma solution est -> Projet -> Cible -> Général -> 

Supprimer les cadres ajoutés avec Carthage de "Binaires incorporés" 

habituellement, vous devez ajouter un script dans les phases de construction pour supprimer l'architecture pour App Store.

Dans Xcode 10, le script semble toujours appelé. Ainsi, les cadres sont copiés au bon endroit et vous n'avez pas besoin de les ajouter à l'onglet Général.

Remarque: si non défini -> dans Paramètres de construction -> Chemins de recherche -> Chemins de recherche Framework -> définissez le chemin d'accès au Framework ajouté à Carthage ... "$ (PROJECT_DIR)/Carthage/Build/iOS"

4
Raegtime

Cela signifie que vous avez plusieurs fichiers nommés Info.plist; En général, tout va bien, mais vos fichiers sont accidentellement définis sur la même composition cible. Le correctif est donc le suivant: cliquez sur chaque fichier et vérifiez son adhésion cible à droite, assurez-vous qu'ils ne se chevauchent pas.

3
code4latte

Avait un problème similaire, mais avec les fichiers .swiftdoc.

J'ai des extensions et des cibles de tests unitaires dans le projet. Et ils avaient le même "Nom de module de produit" (PRODUCT_MODULE_NAME dans les paramètres de construction) que l'application. Après avoir rendu les noms unique problème disparu.

3
Igor Palaguta

Voici une autre solution de travail: (Si vous utilisez des pods)

  • Sélectionnez "Pods" dans l'encadré comme faits saillants de la capture d'écran.
  • Cliquez sur Build Phase. Développez la section "En-têtes". Il y a 3 options Public, Privé, Projet
  • Développez Public et vérifiez s’il existe des fichiers en double. Enlevez-le. TERMINÉ!!

 enter image description here

3
Gajendra K Chauhan

Rechercher & Supprimer dupliquer les fichiers produits par plusieurs commandes.

Ici, un fichier Info.plist supplémentaire doit être supprimé (dans mon cas, il s'agissait de Contents.json)

error: Multiple commands produce '/Users/uesr/Library/Developer/Xcode/DerivedData/OptimalLive-fxatvygbofczeyhjsawtebkimvwx/Build/Products/Debug-iphoneos/OptimalLive.app/Info.plist'
3
roy

_ {Mon problème était dans Xcode 10 en cours d'exécution dans Mojave et en essayant d'exécuter des tests unitaires que j'avais écrits avant de mettre à jour XCode 10.

Dans mon cas, j'ai eu ce problème lors de l'exécution de ma cible "TestTarget". Pour résoudre ce problème, je devais supprimer une dépendance de la cible (dans TestTarget> phases de construction> Dépendances cible) car j'avais deux autres cibles en plus de mon "TestTarget" et que toutes deux exécutaient le même script et créaient/copiaient des fichiers à un moment donné.

Et cela entrait en conflit avec ce qui était mentionné dans Build System Notes de publication pour Xcode 10here :

C'est une erreur pour tout fichier individuel dans la construction d'être généré par plus d'une commande de construction. Par exemple, si deux cibles déclarent chacune le même fichier de sortie à partir d'une phase de script Shell, décomposez la déclaration du fichier de sortie en une seule cible.

2

Sélectionnez votre modèle (coin supérieur gauche) -> Modifier le modèle ... -> Construire (onglet de gauche) -> décochez "Rechercher les dépendances implicites".

 enter image description here

Et après cela, vous devrez peut-être réparer les dépendances non importées explicitement par vos cibles.

2
MarekR

J'ai eu le même problème avec un plist… .. Il s'est avéré que j'en avais deux copies, une était vide et l'autre dans mon dossier de ressources localisées… .. Supprimer l'un d'entre eux (le vide) a résolu le problème.

Si vous vérifiez votre erreur, les lignes 1) et 2) ont des chemins différents. Vous avez probablement ce fichier défini deux fois dans votre phase de copie.

Vérifiez les propriétés de votre cible, Build Phases, Copy Bundle Resources et recherchez un fichier dupliqué info.plist. Déterminez quel chemin est incorrect et supprimez-le. (Vous voudrez probablement le supprimer du système de fichiers également.)

2
rodfleischer

Dans mon cas, un fichier Info.plist a été récupéré d’un de mes Cocoapods. Supprimé et résolu le problème.

2
Rebeloper
error: Multiple commands produce '/Users/KunshtechNew/Library/Developer/Xcode/DerivedData/chat21-fgjaqebxysmggqfdnetggdbzfqih/Build/Products/Debug-iphonesimulator/Chat21.app/Base.lproj/Chat.strings':
1) Target 'chat21' (project 'chat21') has copy command from '/Users/KunshtechNew/Downloads/chat21-ios-demo-master/TildeskWidget/Chat21Core/Base.lproj/Chat.strings' to '/Users/KunshtechNew/Library/Developer/Xcode/DerivedData/chat21-fgjaqebxysmggqfdnetggdbzfqih/Build/Products/Debug-iphonesimulator/Chat21.app/Base.lproj/Chat.strings'
2) Target 'chat21' (project 'chat21') has copy command from '/Users/KunshtechNew/Downloads/chat21-ios-sdk-master 2/Chat21Core/Base.lproj/Chat.strings' to '/Users/KunshtechNew/Library/Developer/Xcode/DerivedData/chat21-fgjaqebxysmggqfdnetggdbzfqih/Build/Products/Debug-iphonesimulator/Chat21.app/Base.lproj/Chat.strings'

Comme nous pouvons le constater, la même erreur se produisait .. Dans mon cas, il y avait une copie supplémentaire du dossier " Chat21Core " in " TildeskWidget " dossier .. Cela créait un problème ... Par conséquent, l’une des solutions possibles peut être simplement de lire entièrement l’erreur et d’essayer de déterminer s’il existe une copie supplémentaire référencée du projet ou non.

1
Kunsh Technologies

Ce problème s'est posé à moi après avoir ajouté une deuxième partie de la suite de kits de développement logiciel Fabric à l'application.

En réalité, le cadre GoogleUtilies a été ajouté deux fois au projet Pods.

 Two entries for GoogleUtilities.framework

Cela aurait été bien avant Xcode 10, mais Xcode 10 se plaindra si un fichier a deux actions contre lui (dans ce cas une action de copie).

Vous pouvez supprimer le second cadre en toute sécurité.

0
Damo

J'ai eu plusieurs copies du même fichier. Conservez simplement une copie et enlevez tout le reste. Clean Build, et sort triés.

0
Avinash Jadhav

Dans mon cas, le nettoyage des données privées et des paramètres de construction (dans cet ordre), ainsi que le redémarrage de Xcode et de Simulator ont aidé.

J'ai essayé de faire Solution -> Cible ouverte -> phases de construction> Copier les ressources d'ensemble, mais il est apparu là encore. Nettoyage des données privées aidé. dans l'erreur, il indique où se trouve le doublon. Dans mon cas, il est indiqué qu'il se trouvait dans mon lot d'applications et dans des données privées.

0
Anna Orlova

Pour moi, le problème était lié au fait que le même fichier soit inclus deux fois dans les ressources de l'ensemble. Je ne sais pas comment cela s'est passé, mais j'ai retiré l'un d'entre eux et le nouveau système de compilation a été compilé correctement.

0
Larry

OK, donc pour tous ceux qui n'ont pas trouvé la bonne réponse ici car cela n'a rien à voir avec info.plist ...

J'ai rencontré ce problème alors que je développais une application macOS sans CocoaPods ou Carthage, uniquement avec des packages SPM, en faisant glisser manuellement xcodeprojs vers le lieu de travail.

Lorsque j'utilisais une seule dépendance (elle utilisait Swift-NIO de l'intérieur), tout allait bien, mais lorsque j'ai ajouté une dépendance de plus avec des sous-dépressions qui se chevauchent, j'ai eu ce problème désagréable.

La solution consiste à essayer de compiler séparément toutes les dépendances majeures (cela échouerait à cause de dossiers de contrôle inexistants dans les dossiers respectifs .build, et cela est probablement dû au fait que vous avez mis vos pkgs en mode édition (Swift package edit YourPkg ...).

Vous venez de unedit vos pkgs et forcez toutes les dépendances à se compiler. Après cela, vous devez vous assurer que vos fichiers binaires liés dans la cible principale ne se chevauchent pas (je ne suis pas sûr que ce soit vraiment nécessaire, mais juste au cas où).

Après cela, tout devrait fonctionner parfaitement bien :)

0
Kirill Titov

Vérifiez vos plates-formes prises en charge!

Nous avons passé des mois à examiner cette question avec plusieurs de nos projets pour enfants. Nous avons constaté que AVAILABLE_PLATFORMS était défini sur "appletvos appletvsimulator iphoneos iphonesimulator macosx watchos watchsimulator", ce qui entraînait la création de plusieurs plates-formes, ce qui entraînerait le message "Plusieurs commandes produisent une erreur". Par exemple, la plate-forme "Foo" était en construction pour iOS et TVOS, et donc plusieurs commandes de construction créaient un fichier Foo.framework.

Dès que nous avons mis

AVAILABLE_PLATFORMS = iphoneos iphonesimulator

dans notre fichier racine xcconfig, ce problème a supprimé tous les projets enfants.

Pour vérifier votre configuration

Courir

xcodebuild -project FitbitMobile.xcodeproj -target "FitbitMobile" -showBuildSettings > BuildSettings.txt

Voyez si la sortie est réglée sur ce que vous attendez. Si vous êtes une application iOS et que vous construisez pour tvOS, vous voudrez mettre à jour votre configuration.

0
Jason

Mon ProjectName.xcodeproj avait une référence valide et non valide à un fichier portant le même nom. Même nom de fichier dans le navigateur de projet, un nom de fichier était en rouge, l'autre correct. Je me suis débarrassé de la référence invalide (la rouge), problème résolu.

0
Surpher

Dans mon cas (j'utilise Carthage) le problème avec

error: Multiple commands produce 
1) Target *** has copy command from
2) That command depends on command in Target ***: script phase “Run Carthage Script” 

a été causé en raison de l'importation de cadres à la fois dans Cadres intégrés et Exécuter le script carthage phases dans la configuration de Build Phases 

Ces deux phases copient les infrastructures dans les données dérivées, afin que Xcode voie les fichiers en double et imprime ces erreurs avec avertissement:

ignoring duplicated output file: (in target ***)

Après avoir supprimé les infrastructures en double de la phase Embeded framework, tout fonctionne correctement.

0
Budyn

Dans Xcode 10, cela fonctionnera aussi avec la version précédente

  1. Double-cliquez sur le projet
  2. Vous verrez l'image comme ci-dessous
  3. sélectionnez CIBLE en partant de la gauche
  4. Développer Copier les ressources de l'ensemble (0 éléments)
  5. Supprimer le fichier correspondant qui produit l'erreur

 enter image description here

0
Aravind Vemula

Si vous obtenez cette erreur avec React Native, en particulier avec libyoga.a, consultez this Github comment

0
Uri Klar

Si le problème avec votre erreur est .app/(et non .app/Info.plist), voyez cette réponse ici: erreur xcode 10: plusieurs commandes produisent - réagissent nativement

0
Alex Kornhauser

Pour ceux qui utilisent React Native et Cocoapods

Le problème a été produit par des fichierslibRN ... a. Je l'ai corrigé en supprimant certains d'entre eux, tels que libRNScreens.a et libRNGestureHandler.a de Build Phases -> Link Binary with Libraries car ils étaient déjà référencés depuis une autre bibliothèque. D'autres devaient être remplacés par leur version de Pod comme libRNDeviceInfo.a:

 enter image description here  enter image description here

Dans mon cas, j’ai ajouté le fichier GoogleService-Info.plist deux fois avec déception à mon projet Firebase.

Je supprime le premier ajouté GoogleService-Info.plist et le problème est résolu.

0
Emre Değirmenci

Dans mon cas, j'avais importé des fichiers d'un autre projet et j'avais la même classe à deux endroits. 

J'ai eu le message d'erreur lié suivant:  enter image description here

Lorsque j'ai copié l'erreur, il s'est avéré que beaucoup plus d'informations textuelles étaient copiées, et lorsque j'ai lu le dump, je suis arrivé à la ligne correspondante:

: 0: erreur: nom du fichier "EventNode.Swift" utilisé deux fois: 

qui a été suivi par les emplacements et m'a permis d'éliminer le problème.

Au cours du processus, j'ai découvert ce qu'il fallait dans "Copier les ressources du paquet":

  • Tableau principal
  • Assets.xcassets
  • toutes les scènes SpriteKit (.sks) utilisées par votre projet
0
green_knight

Si vous développez cocoapod privé et que vous l’ayez déjà ajouté via Podfile,

supprimez-le de la section Embedded Binaries:

 Embedded Binaries in test app

Si votre application génère l'erreur liée aux multiples fichiers .app, supprimez les fichiers .plist de "Copier les ressources du paquet" NE FONCTIONNERA PAS.

Si l'erreur est liée au fichier .app, suivez les étapes suivantes

  1. Sélectionnez la cible. 

  2. Aller à l'onglet Build Phases.

  3. Supprimer les éléments énumérés dans Output Files
  4. Compilez le code s'il compile avec succès, alors ne suivez pas les étapes suivantes.
  5. Si le code ne se compile pas correctement et que Xcode peut vous donner une erreur liée à "Bibliothèque introuvable". Ajoutez ensuite la bibliothèque manquante dans General Tab dans Linked Frameworks and Libraries cet Xcode mentionné dans l’erreur.
  6. Continuez à ajouter ces bibliothèques (que Xcode pose par le biais d’erreurs de compilation) dans Linked Frameworks and Libraries jusqu’à ce que le code soit compilé avec succès.

    J'espère que cela t'aides.

0
Abuzar Amin

Dans mon cas, le problème vient du podfile . Je dois ajouter mon tester projeter au podfile :

target 'MyApp' do
    pod 'Firebase'
    target 'MyAppTests' do
        inherit! :search_paths
        pod 'Firebase'
    end
end

Après cela, j'ai besoin d'exécuter:

pod update
0
Sean Stayn

J'ai le même problème mais avec les fichiers d'en-tête. 

 enter image description here

Dans ce cas, la solution consiste à déplacer les en-têtes de la section "Public" à la section "Projet".

 enter image description here

0
Saúl Moreno Abril

Pour les projets de dépendance gérés par les cocoapods, le problème a été résolu en fournissant un podspec local pour exclure info.plist des sources. Godzippa par exemple

Podfile pod 'Godzippa', :podspec => "venders/godzippa.podspec"

vendeurs/godzippa.podspec s.source_files = 'Sources/*.{h,m}'

0
Shuo

Pour les personnes qui comptent sur les noms comme étant identiques pour les importations d'en-têtes Swift. (Ex: nom du fichier d'en-tête: #import "MyApp-Swift.h"):

Le nom de ce fichier d'en-tête est en fait déterminé par ${Swift_MODULE_NAME}-Swift.h, où Swift_MODULE_NAME utilise PRODUCT_MODULE_NAME comme valeur par défaut. 

De plus, il existe un paramètre de construction pour l'ensemble du projet appelé Swift_OBJC_INTERFACE_HEADER_NAME "Nom d'en-tête d'interface généré par Objective-C" et sa valeur par défaut est ${Swift_MODULE_NAME}-Swift.h. En changeant cette valeur en MyApp-Swift.h, toutes les cibles de notre construction d'agrégats ont pu partager le même nom d'en-tête et nous avons pu modifier leur valeur PRODUCT_MODULE_NAMEvalue.

0
kezi

Dans mon cas, erreur d'archive de construction vs Xcode10

-1: plusieurs commandes produisent des messages/Vous n'avez pas le droit de faire 'yoga' avec une sortie '/ utilisateurs/kk//Libraryh/Code/Xcode/DocoDocD/Docid_Form./ __. La classe "yoga" a une commande avec sortie "/ utilisateurs

Il devrait y avoir quelque chose comme ci-dessous dans votre Podfile

post_install do |installer|
  installer.pods_project.targets.each do |target|
    if target.name == "React"
      target.remove_from_project
    end

    if target.name == "yoga"
      target.remove_from_project
    end
  end
end

puis exécutez pod install 

0
SenKe

Dans mon cas, j'ai copié plusieurs fois mon fichier GoogleService-info.plist, car il est inclus à la fois dans mon application principale et dans un projet d'extension de partage.

La solution consiste à exclure ce fichier du projet d'extension (en le décochant de la cible dans sa vue Inspecteur de fichiers fenêtre latérale); comme je n'aime pas l'option de passer à Legacy Build System (qui fonctionne aussi pour moi). 

0
Wei WANG

Dans mon cas, j'avais le même custom Chemin du dossier d'en-tête public pour deux bibliothèques statiques différentes. L'une était pour une application principale, une autre pour une application de surveillance. Changé le chemin pour l'application de la montre et maintenant tout va bien.

0
Alexey

En fait, vous pouvez utiliser un système de construction hérité, mais vous n'aurez pas les temps de construction rapides, c.-à-d.) Vous n'obtiendrez pas les nouvelles fonctionnalités des systèmes de construction qui ont été définies par défaut dans XCode10 Il s'agit simplement d'une solution de contournement pour ne pas obtenir les dernières fonctionnalités de construction https://developer.Apple.com/documentation/xcode_release_notes/xcode_10_release_notes/build_system_release_notes_for_xcode_10