アプリの製品サイズが約 10MB であることを確認しましたが、アーカイブ用にビルドすると、Appstore のサイズが 20MB と表示され、ほぼ 2 倍になりました。しかし、フォルダ内のアーカイブのサイズがまだ 10MB であることを確認すると、armv6 と armv7 の両方のアーキテクチャがサポートされているために、なぜこのようなことが起こるのかわかりません。20MB のアプリを送信すると、Appstore での最終的なサイズはどうなるでしょうか。誰かが何か考えを持っているなら、私に知らせてください。
3 に答える
iOS アプリ ストア サーバーは、顧客がダウンロードするアプリ バンドル内の実行可能バイナリを暗号化するため、現在のアーカイブよりもアプリの圧縮率が低くなります。これは、暗号化によって生成されるランダムに見えるビットが、armv6 または armv7 マシン コードほど圧縮可能ではないためです。
したがって、より現実的な App Store のダウンロード サイズを取得する方法は、アプリ バンドルから実行可能ファイルを削除し、バンドルを zip 圧縮し、zip サイズをメモしてから、圧縮されていない実行可能ファイルのサイズを追加することです。
難読化したくない C コード内に大きな静的データがある場合、その静的データをバンドル内のデータ ファイルに移動すると、App Store のサイズを縮小できる場合があります。
Xcodeは、デバッグシンボル(.dSYMファイル)をアプリケーションバンドル(.ipa)とともに保持するようになり、後のクラッシュレポートを正しくシンボル化できるようになりました。.dSYMファイルは大きくなる傾向があるため、アプリバンドル全体(.ipa)は、アプリケーション(.app)のみよりもはるかに大きくなる可能性があります。通常、アプリをアーカイブするときに.ipaの合計サイズのみが表示されます。その時点で、AppStoreでのアプリの実際の大きさをかなり正確に見積もることができます。
ipa ファイルを解凍して (.ipa から .zip に名前を変更)、ペイロードを調べてみましたか? 最初に不要なファイルを探します。クリーン ビルドを行わないと、ペイロードには意図したよりも多くのジャンクが含まれます。また、設定が 2 つの間で異なる可能性があるため、(デバッグ ビルドではなく) リリース ビルドに対してサイズを確認してください。