私が理解したところでは、ビットコードは、中間バイナリ形式のバイナリを生成することを可能にします。したがって、ARMまたはx64アーキテクチャにコンパイルする前のステップです。ビットコードを使用して汎用iOSフレームワークを作成することはできますか?
iOS 8以降、iOS用に "実際の" .framework
ファイルを作成することは可能です。ただし、フレームワークファイルは、デフォルトでは1つのアーキテクチャ(エミュレータ、iPhone)用にのみコンパイルされます。 .framework
ファイルを配布する場合は、iOSエミュレータと互換性のあるファイルを提供し、iPhoneにも展開可能なファイルを提供する方がよいでしょう。 lipo
を使用して、そのようなファットファイルを作成するスクリプトのさまざまな例が見つかります。
ただし、異なるアーキテクチャのファットファイルを作成することなく、ビットコードとしてコンパイルされた.framework
のみを配布することは可能でしょうか?ビットコードは、私の.framework
のために有効にしても残念ながら
、:
- 異なるファイルは、「アーカイブ」メニューは、フレームワークの目標のために有効にしているように見える場合でも、対象アーキテクチャ
- に応じて、デフォルトで作成され、私も、私の主催ビューで、結果を見つけることができません
は私がビットコードの概念で何かを誤解していますか、私は何かを欠場か?
もう一度質問をお読みください。それはまさに私が避けたいものです(私の質問では「lipo」と言いました)。とにかく普遍的なバイナリを作成する必要がある場合、私はビットコードとして何かをコンパイルする目的を理解していません。そして私は 'archive'ビルドで作成されたフレームワークファイルを見つけることができません。 –
bitcodeは、Xcodeでコンパイルされた中間のLLVM IRであり、Javaバイトコードとは異なり、arch依存であるため、すべてのスライスに独自のビットコードセクションが必要です。 中間コードなので、Appleは新しいバージョンをアップロードせずに最終的なマシンコードに最適化するためにこれを使うことができます。これが主な目的です – xfdai
スクリプトから 'archive'で作成されたフレームワークは' $ {DEVICE_LIBRARY_PATH} /モジュール/ $ {FRAMEWORK_NAME} ' [こちら](https://developer.apple.com/library/mac/documentation/DeveloperTools/Reference/XcodeBuildSettingRef/1-Build_Setting_Reference/build_setting_ref.html#//)をご覧ください。 apple_ref/doc/uid/TP40003931-CH3-SW39) – xfdai