erreur: plusieurs commandes produisent '/Users/uesr/Library/Developer/Xcode/DerivedData/OptimalLive-fxatvygbofczeyhjsawtebkimvwx/Build/Products/Debug-iphoneos/OptimalLive.app/Info.plist': 1) Ciblez 'Commandimal à partir de' Optimal ' '/Users/uesr/Desktop/workSpace/SEALIVE/SeaLive1.1/OptimalLive/Info.plist' à '/ Users / uesr / Library / Developer / Xcode / DerivedData / OptimalLive-fxatvygbofczeyhjsawtebkimvwx / Build / Products / Debug-iphoneos .app / Info.plist '2) La cible' OptimalLive 'a une commande de copie depuis' /Users/uesr/Desktop/workSpace/SEALIVE/SeaLive1.1/OptimalLive/Server/Masonry/Info.plist 'vers' / Users / uesr / Bibliothèque / Développeur / Xcode / DerivedData / OptimalLive-fxatvygbofczeyhjsawtebkimvwx / Build / Products / Debug-iphoneos / OptimalLive.app / Info.plist '3) Target' OptimalLive 'a une commande de processus avec l'entrée '/Users/uesr/Desktop/workSpace/SEALIVE/SeaLive1.1/OptimalLive/Info.plist'
L'exécution du code dans Xcode9 fonctionne, mais il y a une erreur dans Xcode10.
la source
Réponses:
Le problème peut se produire en raison de plusieurs Plist ou d'autres fichiers dans App-
Solution -> Ouvrir la cible -> Phases de construction> Copier les ressources de l'ensemble et les supprimer
info.plist
de là.Remarque: Si vous avez également développé une application de montre, vous devrez également supprimer le plist de la montre et l'extension de la montre.
la source
info.plist
fichier dans l'une de mes dépendances CocoaPods privées qui était récupéré car il était associé à lasource_files
propriété du podspec . Je n'avais pas besoin duinfo.plist
fichier dans mon module, alors je l'ai juste supprimé.J'ai trouvé la solution à cette erreur de build, pour toute autre personne ayant le même problème avec le système de build Xcode 10, suivez les étapes suivantes pour le corriger:
Il résoudra le problème de construction avec le nouveau Xcode 10.
Si vous souhaitez travailler avec le nouveau système de génération, vous pouvez trouver l'aide au dépannage sur cette page d'aide Apple Xcode .
J'espère que cela t'aides!
la source
Allez dans Xcode -> Fichier -> Paramètres de l'espace de travail. Vous en trouverez un comme.
Sélectionnez « Legacy Build System » dans la balise Build System. Appuyez sur " Terminé "
Remarque: - Assurez-vous d'effacer votre projet avec " cmd + shift + alt + k " et " Derived Data "
Construisez votre projet ça marchera charme :)
la source
Essayez cela aussi. Xcode-> Fichier-> Paramètres du projet-> Build System -> Legacy Build System.
la source
Si vous obtenez cela à partir de la
Ditto
commande créant plusieurs instances du même nom (PAS le'copy files' build phase
), vous devrez peut-être modifier leProduct Module Name
.Build Settings
Product Module Name
Nous avons une cible de surveillance et quelques cibles de notification dans notre application, donc je mets juste des choses comme
Extension
à la fin du nom du module.J'ai trouvé cette solution à l'origine ici: https://forums.developer.apple.com/thread/103913
la source
All
à droite de l'endroit où vous recherchez pourProduct Module Name
afficher cette configuration de build.J'expérimentais avec Core Data. J'ai construit un modèle de données pour un programme de liste de contrôle simple et généré les NSManagedObjects. Lorsque j'ai compilé le projet, j'ai eu l'erreur suivante:
Le problème était que le modèle de données (CheckList.xcdatamodeld dans mon cas) était dans la liste "Compiler les sources". Le projet a été compilé proprement lorsque je l'ai supprimé de la liste.
ÉDITER
Comme @WilliamT. explique dans les commentaires, vous avez besoin du xcdatamodeld dans la liste de compilation. Accédez plutôt à vos entités dans le fichier xcdatamodeld. Sélectionnez les modèles présentant des erreurs, développez le panneau de gauche et modifiez le champ "Codegen" en "Manuel / Aucun".
la source
Lors de la vérification du journal de construction, j'ai remarqué un avertissement:
Donc, si c'est votre cas, allez simplement à votre cible:
info.plist
.la source
Si vous utilisez CocoaPods, vous pouvez essayer de désintégrer les pods et de les réinstaller. Ça marche pour moi.
pod deintegrate
pod install
la source
Essayez ceci, ça marche:
Dans Xcode, accédez à Fichier-> Paramètres du projet / espace de travail.
Modifiez le système de génération en système de génération hérité.
la source
Lisez cette réponse si le message d'erreur fait référence aux fichiers Core Data
Synopsis: Vous pouvez avoir à la fois des fichiers de classe d'objets gérés Core Data générés automatiquement et générés manuellement.
Cette réponse s'applique si la première ligne de l'erreur fait référence à un fichier Foo + CoreDataProperties.o ou Foo + CoreDataClass.o . Exemple:
error: Multiple commands produce '/Users/me/Library/Developer/Xcode/DerivedData/MyApp-uebslaqdwgldkjemijpdqmizgyzc/Build/Intermediates.noindex/ MyApp /Debug-iphonesimulator/ MyApp.build/Objects-normal/x86_64/Foo+CoreDataProperties.o':
1) Target ' MyApp ' (project ' MyApp ') has compile command for Swift source files
2) Target ' MyApp ' (project ' MyApp ') has compile command for Swift source files
La cause première peut être vue en développant la section Compile Swift Source Files du Build Transcript. Par exemple:
<unknown>:0: error: filename "Address+CoreDataClass.swift" used twice: '/Users/myUserName/Projects/Jnky/Foo+CoreDataProperties' and '/Users/jk/myUserName/Developer/Xcode/DerivedData/MyApp-uebslaqdwgldkjemijpdqmizgyzc/Build/Intermediates.noindex/MyApp.build/Debug/MyApp.build/DerivedSources/CoreDataGenerated/Jnky/Foo+CoreDataProperties.swift'
Le premier fichier mentionné il y a un fichier source dans votre répertoire de projet, que quelqu'un a généré en sélectionnant votre modèle de données dans le Navigateur du projet et en cliquant dans le menu Editeur > Créer une sous-classe d'objets gérés . Cette fonctionnalité a été ajoutée dans Xcode 7 ou plus.
Le deuxième fichier est un fichier du même nom mais qui est enterré dans Xcode
DerivedData
. Ce fichier est généré automatiquement par Xcode lors de chaque génération si le.xcdatamodeld
fichier modèle de données ( ) est inclus dans la phase de génération des sources de compilation de la cible . Cette fonctionnalité a été ajoutée dans Xcode 9 ou plus. Zéro, un ou deux fichiers sont générés pour chaque entité / classe, selon le paramétrage du popup Codegen . Cette fenêtre contextuelle se trouve dans l' inspecteur de modèle de données lorsque vous sélectionnez une entité lors de la modification de votre modèle de données…Les paramètres sont les suivants:
Vous voyez donc que le problème se produit lorsqu'un développeur (comme moi) habitué à l'ancien Xcode commence un projet dans un Xcode plus récent. Nous pensons que nous devons utiliser l' élément de menu Créer une sous-classe d'objets gérés , ce que nous faisons, pour créer les fichiers que nous pouvons voir dans le navigateur de projet sans se rendre compte que nos paramètres dans la fenêtre contextuelle Codegen amènent Xcode à créer des fichiers en double, ce qu'Apple "intelligemment" ne s'affiche pas dans le Navigateur du projet, car ils ne font pas confiance aux développeurs pour lire et tenir compte du commentaire dans l'en-tête // Ce fichier a été généré automatiquement et ne doit pas être modifié.
Solution 1 - Utilisez l'ancienne méthode
Vous pouvez désactiver tous les Codegen automatiques pour un modèle de données avec un seul paramètre:
.xcdatamodeld
fichier).Solution 2 - Core Data Magic pour les débutants
Ici, vous vous lancez sur la nouvelle voie.
Avec cette solution, vos définitions de classe sont générées automatiquement à partir du modèle de données sur chaque génération. Vous ne pouvez même pas les voir. C'est Core Data Magic , agréable et simple pour les débutants.
Solution 3 - Pour la plupart des applications du monde réel
Mais la solution 2 n'est pas bonne si vous voulez vraiment ajouter des propriétés non gérées. (Objective-C ne permet pas l'ajout de propriétés dans les catégories, et Swift ne permet pas l'ajout de propriétés stockées dans les extensions.) Ainsi, dans la plupart des applications du monde réel, vous voudrez probablement aller à mi-chemin entre les solutions 1 et 2…
(Remerciements à la réponse de Positron. Ma réponse ici explique pourquoi la réponse de Positron (ma solution 1) fonctionne, et ajoute la solution 2 et la solution 3.)
la source
Une option qui a résolu mon problème est de changer le système de build en système de build hérité. Veuillez suivre les étapes suivantes dans Xcode 10+.
Ici, j'ai écrit un article détaillé sur le problème et sa solution. Erreur Xcode: plusieurs commandes produisent
la source
Dans mon cas, PDFGenerator produisait un fichier info.plist, je viens de le supprimer.
la source
J'ai eu le même problème, j'avais une application d'assistance de plus dans l'application principale et copiez-la dans la ressource. Dans mon cas résolu comme: -
1) Cible -> 2) Phases de construction 2) Copier le fichier (n éléments) 3) Supprimer le fichier de copie.
L'application Helper est automatiquement copiée dans Xcode 10.0.
la source
Aucune des solutions proposées ici n'a fonctionné pour moi. Cela était notamment dû aux CocoaPods. J'utilisais auparavant Cocoapods 1.3.1. La simple mise à niveau vers 1.5.3 n'a pas résolu le problème tout de suite.
Les étapes que j'ai suivies étaient:
pod install
la source
install! 'cocoapods', :disable_input_output_paths => true
en haut de mon podfile. De plus, si vous ne souhaitez pas mettre à jour vos pods - ne supprimez pas podfile.lock et tous les pods seront installés à leur version actuelle.Avant de commencer, notez que mon projet utilise Carthage comme gestionnaire de dépendances.
Aucune des réponses existantes ici n'a résolu mon problème. Ce qui a résolu le problème pour moi était le suivant.
Tout d'abord, j'ai remarqué que l'erreur de construction a souligné un cadre en particulier. Ensuite, j'ai filtré Cible d'application> Phases de construction pour ce cadre. J'ai remarqué que ce cadre était présent à la fois dans "Link Binary With Libraries" et "Embed Frameworks". Notant qu'aucun des frameworks listés sous "Embed Frameworks" n'était celui géré par Carthage j'ai supprimé le framework en question de "Embed Frameworks". J'ai ensuite reconstruit mon projet et tout fonctionne bien, y compris les fonctionnalités activées par le cadre en question.
la source
Pas:
la source
Essayez toute cette option, n'importe laquelle de ces 3 options fonctionnera pour vous, c'est sûr
la source
Donc, le problème que je rencontrais 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.
la source
Ce problème s'est posé pour moi après avoir ajouté une deuxième partie de la suite Fabric des SDK à l'application.
Ce qui s'est réellement passé, c'est que le cadre GoogleUtilies a été ajouté deux fois au projet Pods
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).
Il est sûr de supprimer le deuxième cadre.
la source
Voici une autre solution de travail: (Si vous utilisez des pods personnalisés)
la source
J'ai eu un tas d'
Multiple commands produce
avertissements - non limités à la duplication info.plist dans une cible. Y compris les ressources localisées et les fichiers de chaînes, les en-têtes, etc.Solution: supprimez toutes les doublons dans l'appartenance à la cible.
la source
J'ai eu ce problème lorsque j'avais un fichier du 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 seule cible.
Il est logique qu'une cible ne puisse avoir qu'un seul nom de fichier par cible, donc tout simplement décocher la case de membre cible pour le fichier qui n'était pas lié à la cible principale a résolu le problème.
la source
J'utilise Carthage et Xcode 10.
Ma solution est -> Projet -> Cible -> Général ->
Supprimer les Frameworks ajoutés avec Carthage des "Binaires intégrés"
Habituellement, vous devez ajouter un script dans les phases de construction pour supprimer l'architecture de l'App Store.
Dans Xcode 10, le script semble toujours appelé. Il copie donc les frameworks au bon endroit et vous n'avez pas à les ajouter à l'onglet Général.
Remarque: si non défini -> dans les paramètres de construction -> Chemins de recherche -> Chemins de recherche du framework -> définissez le chemin vers le Framework u ajouté avec Carthage .... par exemple. "$ (PROJECT_DIR) / Carthage / Build / iOS"
la source
Il convient de noter que cette erreur peut être produite après la génération automatique de modèles CoreData lorsque le Codegen n'est pas défini sur Manuel / Aucun.
Pour corriger cela dans Xcode 10, double-cliquez sur votre fichier xcdatamodeId et sélectionnez chacune de vos entités et définissez Codegen sur Manuel / Aucun sous Classe dans votre inspecteur de modèle de données.
la source
A eu un problème similaire mais avec des fichiers .swiftdoc.
J'ai des extensions et des cibles de tests unitaires dans le projet. Et ils avaient le même "Nom du module de produit" (PRODUCT_MODULE_NAME dans les paramètres de construction) que l'application. Après avoir rendu les noms uniques, le problème a disparu.
la source
Passer à Xcode 10, des erreurs comme
peut être résolu comme suit:
Allez à
Xcode->File->Workspace/Project Settings-> Build System -> Legacy Build System
.la source
Allez dans la phase de construction du projet et supprimez info.plist des sources de compilation. Il supprimera ce problème et le projet sera à nouveau actif.
la source
Un de mes CocoaPods était obsolète et a causé le problème. A fait une mise à jour des pods et cela a bien fonctionné.
Je pense que c'était peut-être le SDK LivePerson
la source
Mon problème était que Xcode 10 était exécuté dans Mojave, et pendant que j'essayais d'exécuter les tests unitaires que j'avais écrits avant de mettre à jour vers XCode 10.
Dans mon cas, j'ai eu ce problème lors de l'exécution de ma
TestTarget
cible. Pour résoudre, j'ai dû:TestTarget > build phases > Target Dependencies
)car j'avais deux autres cibles en plus de la mienne
TestTarget
et les deux exécutaient le même script et créaient / copiaient des fichiers à un certain moment.Et cela était en conflit avec ce qui était mentionné dans les notes de version de Build System pour Xcode 10 ici :
Nouvelle mise à jour après la mise à jour de Xcode 10.1 vers 10.2
Un problème similaire est apparu à nouveau après la mise à jour vers Xcode 10.2. J'ai plusieurs cibles par projet:
Target1
etTarget2
, et j'ai résolu ce problème en:Edit Scheme > Build
etTarget1
sousTest
car je savaisTarget2
importéTarget1
À noter également ici,
Target2
la case à cocher doit rester cochée sousTest
la source
Il peut y avoir 2 solutions différentes pour se débarrasser de ce problème:
Solution 1
Comme on peut le voir , je recevais la même erreur .. dans mon cas il y avait une copie supplémentaire du dossier Chat21Core dans TildeskWidget problème a été la création du dossier ..Ce .. Donc , l' une des solutions possibles peut également être lu que l'erreur entièrement et essayez de trouver s'il existe une copie supplémentaire référencée à partir du projet ou non.
Solution 2
Une autre solution simple que j'ai trouvée lorsque je suis confronté au même type de problème pour un projet différent. Cette fois, j'ai dû appliquer une solution différente.
pod deintegrate
du projet.pod install
et essayez de construire le projet.J'espère que cela pourrait fonctionner pour vous ..
la source