iOS应用程序的最大尺寸是多少?

9

我在苹果的开发指南中读到了iOS应用程序大小的限制,但我并不是很理解。

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

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

4个回答

13

这个app的主要部分毫无疑问是可执行文件。该可执行文件通常不会很大,因为它只是机器运行的编译代码。在小型、琐碎的应用程序中,它通常只有几千字节(KB)。在更复杂的应用程序中,它可能会增加到几兆字节(MB)。当编译多个架构时,您的应用程序大小将不可避免地增加(请参见我的关于为64位iOS设备编译应用程序大小的问题)。

一般而言(并非总是如此),应用程序的大部分大小由界面文件、图像、视频、声音、资源等组成。换句话说,不,可执行文件并不是整个应用程序

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

  • Bundle - 带有可执行文件和资源
  • 文档文件夹 - 也可能占据相当的空间
  • 缓存和临时目录

许多游戏都非常大,如Infinity Blade,初始下载大小约为1.2 GB。但是Infinity Blade的大小是由于大量的图像/图形而不是可执行文件。

我认为苹果正在试图防止恶意软件和iOS /设备内存限制。老实说,我认为很难让可执行文件本身超过60 MB。就像我之前说的一样,应用程序大小的大部分由资源组成。

您还可以参考iTunes Connect指南


iOS 8更新

iOS 8版本的应用程序包文件结构和沙盒系统发生了变化(轻微)。因此,关于应用程序包结构的一些信息(如上文所述)可能对iOS 8.0+不正确。但是,iOS仍然会计算这些项的大小,并将它们作为您的应用程序的大小进行计数。

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


@Abs 没关系,应用程序中有很多资源也没有问题——只要不超过2 GB的限制。请记住,你的可执行文件并不包括任何资源——它只是机器运行的编译代码。 - Sam Spencer
说“你的可执行文件不包含任何资源”是误导性的。当然,在C/C++/Objective-C代码中初始化静态数据是完全正常的。(例如,您源代码中的所有字符串字面值...)当然,只有在极少数情况下,这可能会导致可执行文件超过60 MB的限制。 - tml
1
总的来说,这个回答过于概括了。对于一些简单的“我的第一个iOS应用”应用程序,“机器运行的编译代码 - 只有几KB”可能是正确的,但是对于有大量源代码(其中许多可能完全独立于平台的“业务逻辑”)的严肃应用程序将具有数兆字节的可执行代码。 - tml

1

2015年2月12日

iTunes Connect提交的应用程序包大小限制已从2GB增加到4GB,因此您可以在提交中包含更多媒体,并在安装后提供更完整、丰富的用户体验。请注意,这一变化不影响100MB的蜂窝网络交付大小限制。


2017年9月19日,苹果公司已将移动下载大小限制增加至150MB。详情请见:https://developer.apple.com/news/?id=09192017b - b_ray

0
不,您可以在应用程序安装后添加数据。例如,该应用程序可以仅从数据库中显示内容,比如维基百科的转储。您的应用可执行文件所需的空间很小,但是您可以通过数据库达到2GB的限制。

我认为你的说法不是完全正确的。许多游戏超过了60MB的标准(例如,《无限之剑》的初始下载大小约为1.2GB)。而且,虽然你对于下载内容的观点是正确的,但这只适用于某些类型的内容。 - Sam Spencer
@RazorSharp,你说得对,我并不是想说你必须将初始下载限制在60MB以下,我只是想指出激动人心的部分和应用程序作为一个整体所占空间之间的区别。我会编辑我的帖子,使其更加清晰,尽管你的回答已经非常清晰了。 - Jbryson

-6

IPA文件大小不应超过60 MB。如果超过60 MB,您需要获得苹果的特别批准。苹果认为您的代码核心逻辑不应超过60 MB,并且资源包也可以根据需要通过空中下载,如果您的应用程序支持多种语言。

空中(通过蜂窝网络而非WiFi)的网络限制为50 MB。如果您的应用程序超过50 MB,则会收到警告,需要使用WiFi连接来下载应用程序。

IPA文件的最大大小可以达到2 GB,但由于OTA下载,苹果建议将文件大小保持在50 MB以下。

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


1
这是错误的。IPA 文件可以达到2GB大小。但是,IPA 文件内部的二进制文件不能超过60MB。 - James Webster
1
虽然您添加了一些正确的信息,但第一句仍有错误的信息。我还没有取消我的踩票。 - James Webster

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接