2017-10-18 4 views
0

J'utilise Carthage pour la gestion des dépendances et un tas d'avertissements dans mon projet:Carthage: construire plusieurs commandes pour cadre de fichier de sortie

« Multiple build commands for output file /Users/me/Library/Developer/Xcode/DerivedData/project-ymeymeyme/Build/Products/Debug-iphonesimulator/project.app/Frameworks/Alamofire.framework »

Je ne suis pas sûr que la meilleure façon prendre soin de ceci est de simplement supprimer du dossier de données dérivées, ou de supprimer dans les phases de construction du lien binaire avec des bibliothèques ou des cadres d'intégration ou quelque chose?

Une idée? Merci!

+0

Quels paramètres de construction concernant les frameworks et les scripts avez-vous pour votre cible? Peut-être qu'il y a un problème? – Adi

+0

@Adi Je pense que vous faites référence à ceci: Dans Run Script, j'ai '/ usr/local/bin/carthage copy-frameworks'. Est-ce exagéré? – SRMR

Répondre

1

Il me semble que vous empaquetez le cadre mentionné deux fois. (https://stackoverflow.com/a/5659415/1120481)

Vous avez dit que votre cible a une phase de construction Run Script avec /usr/local/bin/carthage copy-frameworks ce qui est recommandé dans le fichier README Carthage pour iOS, tvOS et watchos.

Vous demandez également si vous devez supprimer le cadre de Embedded Binaries. Avez-vous ajouté le cadre à cette liste? Si oui, vous avez peut-être mélangé les instructions d'installation de Carthage pour macOS et iOS, tvOS, watchOS.

Si vous construisez pour macOS, supprimez la phase de script. Si vous construisez pour iOS, tvOS ou watchOS, supprimez le cadre de Binaires intégrés.

0

J'ai corrigé le problème en changeant l'ordre de la phase Run Script qui exécute /usr/local/bin/carthage copy-frameworks en dessous de Embed Frameworks. Cela arrive à être la dernière phase de construction pour cette cible.