Pour que Carthage soit configuré, la documentation indique que vous devez ajouter un script d'exécution.
Dans l’onglet Paramètres de «phases de construction» de vos cibles d’application, cliquez sur le L’icône “+” et choisissez “Nouvelle phase de script d’exécution”. Créer un script d'exécution dans que vous spécifiez votre Shell (ex: bin/sh), ajoutez le contenu suivant dans la zone de script située sous le shell:
/usr/local/bin/carthage copy-frameworks
et ajoutez les chemins aux frameworks que vous voulez utiliser sous “Entrée "Fichiers", par exemple:
$(SRCROOT)/Carthage/Build/iOS/Box.framework $(SRCROOT)/Carthage/Build/iOS/Result.framework $(SRCROOT)/Carthage/Build/iOS/ReactiveCocoa.framework
Ce script contourne un bogue de soumission de l'App Store déclenché par les fichiers binaires universels et garantit que les fichiers liés au bitcode nécessaires et dSYM sont copiés lors de l’archivage.
Cependant, je ne trouve plus l'onglet de phase de construction ni le script d'exécution dans la recherche des paramètres de construction. Les Notes de version de Xcode 8 mention
Xcode 8 fournit un support AppleScript complètement réécrit. Un nouveau dictionnaire de script offre la possibilité d'automatiser les flux de travail Xcode.
Cela signifie-t-il qu'il n'y a plus de script d'exécution? J'ai regardé AppleScript mais honnêtement, cela a l'air extrêmement complexe. Dois-je apprendre AppleScript juste pour ajouter le simple liner que j'avais l'habitude de faire dans Xcode?
/usr/local/bin/carthage copy-frameworks
Les responsables de Carthage ont mis à jour le fichier README. Il est également nécessaire d’ajouter des chemins de sortie pour éviter toute copie utile des frameworks. J'ai publié un script simple nommé Carting pour automatiser ces étapes.