iOS应用的最大尺寸

我读过苹果的开发指南有iOS应用程序大小的限制,但我真的不明白这一点。 它说:

iOS应用程序可以大到2 GB,但可执行文件不能超过60 MB。

整个应用程序不是可执行文件吗? 我不明白2 GB的限制和60 MB的限制之间的差异。

应用程序的主要部分毫无疑问是可执行文件。 可执行文件通常不是很大,因为它只是机器运行的编译代码。 在小而平凡的应用程序中,这通常只有几千字节(KB)。 在更复杂的应用程序,它可以使其高达几兆字节(MB)。 编译多个体系结构时,您的应用程序的大小将不可避免地增加(请参阅针对64位iOS设备编译的应用程序大小问题 )。

通常 (并非总是),大部分应用程序的大小由接口文件,图像,video,声音,资源等组成。换言之, 不,可执行文件不是整个应用程序

打开任何应用程序(在某种文件查看器),并看看它的内容,它有四个文件夹:

  • 捆绑 – 与可执行文件和资源
  • 文件夹 – 这也可以占用大量的空间
  • caching和临时目录

许多游戏规模都很大,例如Infinity Blade最初的下载大约是1.2GB。 但无尽之剑的大小是因为大量的图像/graphics,而不是可执行文件。

我认为,苹果正试图防止恶意软件和iOS /设备的内存限制。 老实说,我认为要将可执行文件本身保存在60 MB以上是非常困难的。 就像我之前所说的,大部分的应用程序大小是由资源组成的。

您可能还想在这里参考iTunes Connect指南 。


iOS 8更新

iOS 8中的应用程序包文件结构和沙盒系统已经发生了变化(略)。 因此,关于应用程序包结构的一些信息(以上)可能对iOS 8.0+不正确。 不过,iOS仍然会计算每个项目的大小,并将其计为您的应用程序的大小。

例如,在iOS 8中,应用程序的文档可能不会存储在您的应用程序包中,但是它们仍计入应用程序使用的总存储空间。

2015年2月12日

通过iTunes Connect提交的应用程序包大小限制已从2 GB增加到4 GB,因此您可以在提交中包含更多媒体,并在安装时提供更完整,丰富的用户体验。 请记住,此更改不会影响蜂窝networking传输大小限制为100 MB。

不,您可以将数据添加到应用安装后。 例如,应用程序可以简单地显示来自数据库的东西,比如说一个维基百科的转储。 应用程序可执行文件所需的空间很小,但是可以达到数据库的2GB限制。

您的IPA文件大小不应超过60 MB。 如果超过60 MB,则需要Apple的特别批准。 Apple认为,如果您的应用程序支持多种语言,则代码的核心逻辑可能不会超过60 MB,资源包也可以根据需要通过无线下载。

在空中(通过蜂窝而不是WiFi)networking限制是50 MB。 如果您的应用程序超过50 MB,您将收到警告,您将需要WiFi连接下载应用程序。

IPA文件的最大大小可以是2GB,但是由于OTA下载,Applebuild议保持文件大小不要超过50MB。

https://developer.apple.com/library/mac/documentation/LanguagesUtilities/Conceptual/iTunesConnect_Guide/18_BestPractices/BestPractices.html