2015-09-23 1 views
6

iOS 9より前の私たちのIPAサイズは約6MBでした。 Xcode 7を使用してIPAをアーカイブしてエクスポートした後、私たちのIPAは約17MBに増加しました。さらに調査したところ、エクスポート設定で「ビットコード」オプションを有効にすると、ファイルサイズが大きく飛んだ原因が判明しました。iOS 9のビットコードを有効にすると、IPAサイズが3倍に増えます。これはアプリストアのサイズですか?

私はこのオプションを有効にすると、私たちのIPAサイズは店内で17MBになるのでしょうか?あるいは、アップル社は同バンドルで何かをやって、前と同じサイズ(6MB)にしていますか?

現在、Bitcodeに関する情報はあまりありません。店に提出する前にお知らせしたいと思います。 6MBと17MBの違いは十分です。

+0

はデバイスではなく、アプリストアでアプリのサイズを小さくするという考えはないのか? – trojanfoe

+1

あなたのアプリには、そのオプションがオンになっているビットコードが含まれているので、サイズを大きくする意味があります。私はビットコードは、ユーザーがアプリケーションストアからダウンロードされるファイルに含まれていないと思うだろうが、私はそれを確認することはできません。 – dan

+3

これは私が知りたいことです。ユーザーがそこに座って、必要なものの3倍のアプリをダウンロードしなければならないということを意味するのであれば、私はビットコードでリリースしていません。私はおそらくダウンロードを失うだろう。小さい方が良いです。アップルのサーバー上でどれくらいのスペースが必要かを気にする必要はありません。それらをねじ込む原因になります。 @FrostRocket @ – FrostRocket

答えて

12

ビットコードは、コンパイルされたプログラムの中間表現です。これを有効にすると、開発者のフロントでビルド(ipa)サイズが増加します。

iOSのセットアップでプログラムを実行する場合、iOSは異なるCPU(i386、x86_64、arm、arm64など)で実行できます。プログラムには各プラットフォームのオブジェクトコードが含まれている必要があります。プログラムを実行すると、OSは「目次」を読み込み、OSのCPUに対応するスライスを探します。たとえば、x86_64でオペレーティングシステムを実行すると、OSはx86_64のオブジェクトコードをメモリにロードしてプログラムを実行します。

現在、AppStoreのすべてのアプリケーションには、armおよびarm64 CPU用のオブジェクトコードが含まれています。さらに、サードパーティ独自のライブラリやフレームワークには、i386、x86_64、arm、arm64のオブジェクトコードが含まれているため、それらを使用してデバイスやシミュレータでアプリケーションをテストすることができます。

ビットコードの仕組み アプリを提出すると(ビットコードを含む)、Appleの 'BlackBox'はサポートされているプラ​​ットフォームごとに再コンパイルし、「無駄な」オブジェクトコードを削除するので、AppStoreには各CPUのアプリがコピーされます。エンドユーザーがアプリをインストールしたいときは、特定のプロセッサ用のバージョンのみを未使用のものなしでインストールします。

ビットコードによってプログラムごとに最大50%のディスク容量を節約できます。

REFERE:http://lowlevelbits.org/bitcode-demystified/