web-dev-qa-db-fra.com

Framework a été construit sans bitcode complet - Framework bitcode déjà activé

Obtenir cette erreur lors de l'archivage de mon application. Le cadre utilisé est le mien. J'ai donc recoupé. Le code bit dans le cadre est activé. Je ne sais pas pourquoi je reçois ce problème. Ce sont les paramètres de construction dans mon cadre:

enter image description here

J'ai suivi ce lien mais je n'ai pas fonctionné. J'ai essayé de définir - fembed-bitcode dans le projet du cadre (pas la cible, mais le projet, car il est recommandé dans le lien).

12
Nitish

Essayez de définir Ignorer l'installation sur [~ # ~] oui [~ # ~] et Intégrer le Bitcode à [~ # ~] oui [~ # ~] dans les paramètres de construction du framework.

Skip Install

Embed Bitcode

3
Vitaliy Gozhenko

Pour la prochaine âme qui vient et avait tout activé comme décrit dans OP mais qui n'a toujours pas réussi à archiver l'application en l'utilisant, voici ce qui a fonctionné pour moi:

  1. Configurez tout comme indiqué dans le PO.
  2. Archiver le produit
  3. Exportez-le vers votre propre système de fichiers
  4. Trouver le mySadLittleFramework.xcarchive exporté
  5. Cliquez avec le bouton droit sur le fichier, choisissez Afficher le contenu du package
  6. Produit -> Bibliothèque -> Frameworks contiendra le fichier mySadLittleFramework.framework
  7. Faites glisser/copier ce fichier quelque part.
  8. Ajoutez ce fichier à votre projet d'application en tant que framework.
  9. Archivez l'application.
0
maksa

Ajoutez à votre projet (pas de cible) et pour chaque projet dans votre projet (par exemple: Pods) un "défini par l'utilisateur" dans les paramètres de construction:

BITCODE_GENERATION_MODE Debug = marqueur Release = bitcode

0
vibroto

Bitcode est un codage abstrait d'une application qui peut être utilisé pour la recompiler de différentes manières, compte tenu d'un ensemble d'instructions. Vous pouvez confirmer si votre binaire est compatible avec le bitcode en exécutant:

otool -l (my .o or .a file) | grep __LLVM.

Lorsque vous générez normalement, Xcode ajoute l'indicateur de génération -fembed-bitcode-marker à toute invocation de clang.

Ajouter -fembed-bitcode: sélectionnez Project Build Settings -> Other C flags, définissez Debug sur -fembed-bitcode-marker et relâchez sur -fembed-bitcode cela va construire votre lib avec bitcode.

BITCODE_GENERATION_MODE

Si vous définissez BITCODE_GENERATION_MODE=bitcode sur votre paramètre défini par l'utilisateur, même pendant la phase de génération, les fichiers seront compilés à l'aide de l'indicateur -fembed-bitcode.

Et, si vous définissez BITCODE_GENERATION_MODE=marker, les fichiers seront compilés à l'aide de l'indicateur -fembed-bitcode-marker, indépendamment de la phase d'action.

Donc, si vous souhaitez activer le bitcode pour chaque action (génération et archivage), la meilleure façon de le faire est d'utiliser le BITCODE_GENERATION_MODE paramètre, vous pouvez le faire manuellement ou par script.

Manuel

Dans Paramètres de génération, cliquez sur le signe + en haut pour ajouter un paramètre de génération défini par l'utilisateur avec le nom BITCODE_GENERATION_MODE, et définissez Debug sur marker, relâchez sur bitcode.

Modifier le schéma en tant que version, puis liez le fichier library.a et obtenez le chemin de génération, obtenez le dossier de version du formulaire de bibliothèque

Script

xcodebuild BITCODE_GENERATION_MODE = bitcode OTHER_CFLAGS = "- fembed-bitcode" -target "$ {PROJECT_NAME}" ONLY_ACTIVE_Arch = NO -configuration $ {CONFIGURATION} -sdk iphoneos BUILD_DIR = "$ {BUILD_DIR}" BUILD_ "BUILD" BUILD "" BUILD "

0
JhonnyTawk