App Store 上での iOS アプリサイズを概算する

高橋 啓治郎 -

iOS アプリのサイズは App Store へアップロードした後に増加します。過去の Xcode ではこの増分を概算する機能 (Estimate Size) が用意されていましたが、この値はあまり正確ではありませんでした。また、最新の Xcode では、そもそもこの機能自体がなくなっています。

本記事では、この概算を手動で行う方法を紹介します。

まず Xcode から .ipa ファイルを出力します。ここで .ipa ファイルのサイズを調べておきます。下の例は Unity の SpaceShooter サンプルを出力したものですが、20,009,257 byte = 20 MB ほどのサイズであるようです。

$ ls -l Unity-iPhone.ipa
-rw-r--r-- 1 keijiro staff 20009257 Jun 16 17:47 Unity-iPhone.ipa

.ipa ファイルを unzip コマンドで展開します。展開されたディレクトリの中、実行バイナリが配置されているディレクトリへと移動します。

$ unzip Unity-iPhone.ipa
$ cd Payload/spaceshooter.app/

otool コマンドを使って暗号化対象となる領域のサイズを特定します。

$ otool -l spaceshooter | grep cryptsize
    cryptsize 14139392
    cryptsize 14434304

この領域は AppStore 側での暗号化処理の結果、圧縮率が極端に低下します。大まかにこれの合計量が AppStore 側での増分と考えることができます。

AppStore 上でのサイズをより正確に計算するには、これらの領域に乱数スクランブルをかけたうえで、全体を再圧縮してみるというのが理想的です。ですが、単にこの合計値を元の .ipa ファイルのサイズに足した値を、最悪ケースとして想定しておく、というのでもよいでしょう。正確ではありませんが、目安にはなります。

20,009,257 + 14,139,392 + 14,434,304 = 48.6 MB

結論として、このアプリは最悪のケースで 48MB 程度になるのではないかと予想されます。

他にご質問がございましたら、リクエストを送信してください

0 コメント

ログインしてコメントを残してください。
Powered by Zendesk