L'application de framework rapide xcode 7.1 se construit mais pas l'archivage

J'ai créé un exemple de Framework dans Swift, xcode 7.1. Le cadre est ensuite construit pour le profilage, version publiée. Cadre publié puis ajouté (embedded) à une application de test iOS.

L'application se construit bien, mais en essayant de l'archiver. Une erreur se produit, indiquant que "le bundle de bitcode n'a pas pu être généré car '… / Test / FW.framework / FW' 'a été construit sans bitcode complet Tous les frameworks et dylibs doivent être générés depuis Xcode Archive ou Install build for architecture arm64 "

Les projets Framework et App sont configurés par défaut, Bitcode activé pour les deux.

Pour vous assurer que Framework a un bitcode, cette command sur Framework

"otool -l FW.framework / FW | grep __LLVM"

rendements

segname __LLVM

segname __LLVM

segname __LLVM

segname __LLVM

Qu'est-ce que je rate? J'ai inclus les deux projets ici , vous pouvez les download et essayer l'archivage.

xcode requirejs que le code binary de tous les frameworks incorporés soit généré pendant l'archivage.

La copy de la version release de framework / dylib ne suffit pas

faire
archiver le framework et ensuite utiliser la version archivée du framework à partir de ce moment.

pour get xcode pour archiver un framework (normalement il ne gère que les applications d'archives), réglez le paramètre de construction 'skip install' sur NO pour la cible du framework!

Vous pouvez faire ce qui suit si vous pouvez build le framework (par exemple si vous utilisez votre propre framework)

entrez la description de l'image ici

Cela permettra à votre infrastructure de fournir le bitcode requirejs.


Une autre option alternative peut être applicable si vous n'avez pas watchOS et Apple TV (selon docs)

Pour les applications iOS, le bitcode est la valeur par défaut, mais facultatif. Si vous fournissez un code de bit, toutes les applications et tous les frameworks de l'set d'applications doivent inclure un code de bit. Pour les applications watchOS et tvOS, le bitcode est requirejs.

cette option nécessite de paramétrer ENABLE_BITCODE pour chaque cible dans buildSetting sur NO , mais comme prévu, cela interdit d'utiliser la fonctionnalité de bitcode.

Plus d'informations sur le bitcode ici