Objective-C と Swift の App Store 配布時のファイルサイズの違い
概要
元々 Objective-C のみで作られたアプリでライブラリに Firebase と自前の Objective-C Framework を複数含む。
これに Swift クラスを3つ(3ファイル)追加しアーカイブしたものを iTunes Connect にアップロードして「App Store ファイルのサイズ」から推定 App Store ファイルサイズを表示。
結果
表の左は Xcode 9.3 でビルドして 2018年3月17日 14:18 にアップロード
表の右は Xcode 9.4 でビルドして 2018年6月1日 1:48 にアップロード
(バージョンが揃ってないため正確なベンチにはならないけどざっと比較確認したかったので、、)
デバイスの種類 | ダウンロードサイズ | インストールサイズ | デバイスの種類 | ダウンロードサイズ | インストールサイズ |
---|---|---|---|---|---|
Universal | 3.69MB | 5.17MB | Universal | 6.05MB | 11.8MB |
iPod Touch Sixth Generation | 3.63MB | 5.02MB | iPod Touch Sixth Generation | 5.95MB | 11.6MB |
iPhone SE | 3.63MB | 5.02MB | iPhone SE | 5.95MB | 11.6MB |
iPhone 5S | 3.63MB | 5.02MB | iPhone 5S | 5.95MB | 11.6MB |
iPhone 6 | 3.63MB | 5.02MB | iPhone 6 | 5.95MB | 11.6MB |
iPhone 6 Plus | 3.65MB | 5.03MB | iPhone 6 Plus | 5.96MB | 11.6MB |
iPhone 6s | 3.63MB | 5.02MB | iPhone 6s | 5.95MB | 11.6MB |
iPhone 6s Plus | 3.65MB | 5.03MB | iPhone 6s Plus | 5.96MB | 11.6MB |
iPhone 7 | 3.63MB | 5.02MB | iPhone 7 | 5.95MB | 11.6MB |
iPhone 7 Plus | 3.65MB | 5.03MB | iPhone 7 Plus | 5.96MB | 11.6MB |
iPhone 8 | 3.63MB | 5.02MB | iPhone 8 Plus | 5.96MB | 11.6MB |
iPhone 8 Plus | 3.65MB | 5.03MB | iPhone 8 | 5.95MB | 11.6MB |
iPhone X | 3.65MB | 5.03MB | iPhone X | 5.96MB | 11.6MB |
iPad (5th generation) | 3.63MB | 5.02MB | iPad (5th generation) | 5.95MB | 11.6MB |
iPad Wi-Fi + Cellular (5th generation) | 3.63MB | 5.02MB | iPad Wi-Fi + Cellular (5th generation) | 5.95MB | 11.6MB |
iPad (6th generation) | 5.95MB | 11.6MB | |||
iPad Wi-Fi + Cellular (6th generation) | 5.95MB | 11.6MB | |||
iPad Air Wifi | 3.63MB | 5.02MB | iPad Air Wifi | 5.95MB | 11.6MB |
iPad Air Wifi + Cell | 3.63MB | 5.02MB | iPad Air Wifi + Cell | 5.95MB | 11.6MB |
iPad Air 2 Wifi | 3.63MB | 5.02MB | iPad Air 2 Wifi | 5.95MB | 11.6MB |
iPad Air 2 Wifi + Cell | 3.63MB | 5.02MB | iPad Air 2 Wifi + Cell | 5.95MB | 11.6MB |
iPad Mini 2 Wifi | 3.63MB | 5.02MB | iPad Mini 2 Wifi | 5.95MB | 11.6MB |
iPad Mini 2 Wifi + Cell | 3.63MB | 5.02MB | iPad Mini 2 Wifi + Cell | 5.95MB | 11.6MB |
iPad Mini 3 Wifi | 3.63MB | 5.02MB | iPad Mini 3 Wifi | 5.95MB | 11.6MB |
iPad Mini 3 Wifi + Cell | 3.63MB | 5.02MB | iPad Mini 3 Wifi + Cell | 5.95MB | 11.6MB |
iPad mini 4 WiFi | 3.63MB | 5.02MB | iPad mini 4 WiFi | 5.95MB | 11.6MB |
iPad mini 4 WiFi + Cellular | 3.63MB | 5.02MB | iPad mini 4 WiFi + Cellular | 5.95MB | 11.6MB |
iPad Pro WiFi | 3.63MB | 5.02MB | iPad Pro WiFi | 5.95MB | 11.6MB |
iPad Pro WiFi + Cellular | 3.63MB | 5.02MB | iPad Pro WiFi + Cellular | 5.95MB | 11.6MB |
9.7-inch iPad Pro | 3.63MB | 5.02MB | 9.7-inch iPad Pro | 5.95MB | 11.6MB |
9.7-inch iPad Pro Cellular | 3.63MB | 5.02MB | 9.7-inch iPad Pro Cellular | 5.95MB | 11.6MB |
10.5-inch iPad Pro | 3.63MB | 5.02MB | 10.5-inch iPad Pro | 5.95MB | 11.6MB |
10.5-inch iPad Pro Wi-Fi + Cellular | 3.63MB | 5.02MB | 10.5-inch iPad Pro Wi-Fi + Cellular | 5.95MB | 11.6MB |
12.9-inch iPad Pro (2nd generation) | 3.63MB | 5.02MB | 12.9-inch iPad Pro (2nd generation) | 5.95MB | 11.6MB |
12.9-inch iPad Pro Wi-Fi + Cellular (2nd generation) | 3.63MB | 5.02MB | 12.9-inch iPad Pro Wi-Fi + Cellular (2nd generation) | 5.95MB | 11.6MB |
まとめ
ダウンロードベースで2.3MB程度、インストールベースで6.5MB程度が増加した。
もし Swift ソースに複数の Swift バージョンが含まれている場合はランタイムを内包するためもうちょっと容量が増えるのかも知れない。(未確認)
2つのビルドの期間に新しい iPad が発表されているのでデバイスのリストに差異が出ている。
アップロード時にサーバ側で評価された値がそのまま表示される様だ。