2016-06-21 6 views

答えて

4

あなたはBitcodeが実際に何をしているのか混乱していると思います。ビットコードは、静的フレームワークと動的ライブラリの両方で使用できます。 Apple docsから

ビットコードは、コンパイルされたプログラムの中間表現です。ビットコードを含むiTunes Connectにアップロードするアプリケーションは、App Storeでコンパイルおよびリンクされます。ビットコードを含めることで、Appleが新しいバージョンのアプリケーションを店舗に提出する必要はなく、将来、あなたのアプリのバイナリを再最適化することができます。

ほとんどのライブラリとフレームワークは、すべてのアーキテクチャをサポートするために余分なバイナリが含まれていることを意味する「fat」です。これは、iOSフレームワークがarmv7、armv7s、i386(すべてのデバイスアーキテクチャとシミュレータ)をサポートしている可能性があることを意味します。

ビットコードを使用してライブラリをビルドすると、アプリケーションのシンニングがサポートされます。つまり、アプリケーションが実行されるアーキテクチャに適したバイナリのみがApp Storeからダウンロードされます。さらに、Crazyrems氏はコメントで言及しているように、デバイスが特定のアーキテクチャ/デバイス上で動作するために必要なアセットだけをダウンロードするため、アプリケーションのインストールとダウンロードのサイズを最適化します。

私はLLVM IRに関する詳細には触れませんが、私は参考のためにこれらの記事を読んで推薦:

+1

インストールされます最適化されています。特定の携帯電話のアーキテクチャ向けに構築されたアプリケーションの一部だけがインストール時にダウンロードされます。つまり、アプリのサイズが小さくなります。 – Crazyrems

+0

@Crazyremsありがとう、私の答えの更新としてそれを追加しました。 – JAL

+0

答えが満足です。ありがとう@JAL – iMHitesh

関連する問題