web-dev-qa-db-ja.com

フレームワークは完全なビットコードなしで構築されました-フレームワークのビットコードはすでに有効になっています

アプリのアーカイブでこのエラーが発生します。使用したフレームワークは私自身のものです。だから私はクロスチェックしました。フレームワークのビットコードは有効です。なぜこの問題が発生するのかわかりません。これらは私のフレームワークのビルド設定です:

enter image description here

私は this link をたどりましたが、うまくいきませんでした。フレームワークのプロジェクト(リンクでは推奨されているため、ターゲットではなくプロジェクト)設定で-fembed-bitcodeを設定しようとしました。

12
Nitish

スキップインストールに設定してみてください[〜#〜]はい[〜#〜]および埋め込みビットコードから[〜#〜]はい[〜#〜]フレームワークのビルド設定。

Skip Install

Embed Bitcode

3

OPで説明されているように、すべてが有効になっている次の魂のために、それを使用してアプリをアーカイブできなかった場合は、次のように動作しました。

  1. OPに記載されているとおりにすべてを設定します。
  2. 製品をアーカイブする
  3. 独自のファイルシステムにエクスポートします
  4. エクスポートされたmySadLittleFramework.xcarchiveを見つけます
  5. ファイルを右クリックし、[パッケージコンテンツの表示]を選択します。
  6. 製品->ライブラリ->フレームワークにはmySadLittleFramework.frameworkファイルが含まれます
  7. そのファイルをどこかにドラッグ/コピーします。
  8. そのファイルをフレームワークとしてアプリプロジェクトに追加します。
  9. アプリをアーカイブします。
0
maksa

プロジェクト(ターゲットなし)に追加し、プロジェクト(プロジェクト:ポッドなど)ごとに、ビルド設定で「ユーザー定義」を1つ追加します。

BITCODE_GENERATION_MODEデバッグ=マーカーリリース=ビットコード

0
vibroto

ビットコードは、一連の指示が与えられた場合、さまざまな方法で再コンパイルするために使用できるアプリの抽象的なエンコーディングです。次のコマンドを実行すると、バイナリがビットコード互換かどうかを確認できます。

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

正常にビルドすると、Xcodeはビルドフラグ-fembed-bitcode-markerをclangの呼び出しに追加します。

-fembed-bitcodeを追加するには、プロジェクトのビルド設定->その他のCフラグを選択し、デバッグを-fembed-bitcode-markerに、リリースを-fembed-bitcodeに設定します。これにより、ビットコードでライブラリがビルドされます。

BITCODE_GENERATION_MODE

ユーザー定義の設定でBITCODE_GENERATION_MODE=bitcodeを設定すると、ビルドフェーズの間でも、ファイルはフラグ-fembed-bitcodeを使用してコンパイルされます。

また、BITCODE_GENERATION_MODE=markerを設定すると、アクションフェーズとは関係なく、ファイルはフラグ-fembed-bitcode-markerを使用してコンパイルされます。

したがって、すべてのアクション(ビルドとアーカイブ)でビットコードを有効にする場合は、BITCODE_GENERATION_MODE設定を使用して手動またはスクリプトで実行することをお勧めします。

手動

ビルド設定で、上部にある+記号をクリックして、BITCODE_GENERATION_MODEという名前のユーザー定義ビルド設定を追加し、デバッグをmarkerに、リリースをbitcodeに設定します。

リリースとしてスキーマを編集し、library.aファイルをリンクしてビルドパスを取得し、ライブラリフォームのリリースフォルダーを取得します。

スクリプト

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_ROOT = "$ {BUILD_ROOT}

0
JhonnyTawk