Help us understand the problem. What is going on with this article?

iOSバイナリの容量をチェックする

More than 1 year has passed since last update.

アプリのサイズは小さく

WiFiなしでダウンロードできるアプリのサイズには、昔は制限がありました。(数年前は、20MBまでしかダウンロードできませんでした…隔世の感がありますね)
今ではその制限はとっぱらわれました。
今では制限が広がり、150MBまでダウンロードできるようになっています

とはいえもちろん今でも小さいほうがいいです。
でかすぎると、TestflightでもWiFiなしではダウンロードできなくなるなり、開発にも影響が。

というわけで、容量のチェックの方法を。
犯人はほとんどの場合、画像か音声ファイルでしょう。

実際の容量は?

iTunes Connectにアップロードしていれば、確認することができます

iTunesConnectで該当のアプリのページを開き、アクティビティ→該当のバージョンを選択すると、以下のような画面に。
スクリーンショット 2016-02-15 14.22.46.png

より正確には、「AppStoreファイルのサイズ」をクリックします。
スクリーンショット 2016-02-15 14.23.00.png

ここにある「ダウンロードサイズ」というのは、ダウンロード時にネットワークを経由するファイルサイズ、
「インストールサイズ」は、端末内でアプリが容量を占めるサイズです。
(ダウンロードした後、インストールして実行可能な形に展開されるわけなので、インストールサイズの方が大きくなります。)

ちなみにAppStoreで表示されている「サイズ」は「インストールサイズ」の方です。

もっと細かく

手順を追って、もっと細かく調べてみましょう
(以降のスクショは、前項のアプリとはまた別のものです)

XcodeでWindow→Organizerを選択
スクリーンショット 2016-02-15 14.20.22.png

すると、今まで作ったアーカイブの一覧が出てきますよね。
ここで右クリック→Show in Finder とすると
スクリーンショット 2016-02-15 14.20.57.png

アーカイブのファイルそのものが見えます。
この時点で203MBとかありますが、慌てちゃいけません。これはdSYMなどが含まれていますので、実際のサイズよりかなり大きくなります。
スクリーンショット 2016-02-15 14.21.14.png

で、このファイルを右クリック→「パッケージの内容を表示」を選択
スクリーンショット 2016-02-15 14.21.31.png

すると、中はこんな感じ
スクリーンショット 2016-02-15 14.21.52.png
dSYMsフォルダの中にはdSYMが。今回の場合、これだけで63MBありました。
ですから実際のダウンロードサイズは140MBくらいになるはずです

アプリの実体ともいうべき部分は、Products/Applications/XXXX.app になります。
これをさらに右クリック→「パッケージの内容を表示」した結果がこちら。
スクリーンショット 2016-02-15 14.22.05.png

サイズ順に並べれば一目瞭然ですね。
サイズの大きいファイルから確認していけば、効率的なダイエットができます。
今回の場合、最大の14.6MBとあるのは実行ファイルでした。
実行ファイルはほとんど減らせる見込みはないですから、
2番目以降の画像や音声ファイルを圧縮できないか考えるわけです。

なお、Image assetsや外部フレームワークのファイルなんかも全部ここにあります。
仮素材や、不要になったファイルが残ったままになってた…なんてことに気づくこともあるでしょう。一度チェックすると良いと思います

_natsu_no_yuki_
ゲームとバックエンドと
unity-game-dev-guild
趣味・仕事問わずUnityでゲームを作っている開発者のみで構成されるオンラインコミュニティです。Unityでゲームを開発・運用するにあたって必要なあらゆる知見を共有することを目的とします。
https://unity-game-dev-guild.github.io/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away