Xcode 4.3 的「估计 App Store 大小」与 .ipa 文件相比有较大的差异,为什么?

24

我一直使用Xcode 4.2,到上周为止,用我的.ipa文件大小来估计应用在应用商店中的大小(我将它控制在20MB以下),这一点一直比较稳定。两天前我升级到了Xcode 4.3,它有一个新功能,可以在你“存档”应用之后指示“预估应用商店大小”,它给出的预估大小完全是我一直用来猜测应用商店大小.ipa文件大小的两倍,并且根据Xcode 4.3的显示,该预估大小远远超过20MB!

那么,哪一个才是正确的呢?:O

编辑:今天刚发布了这个应用程序,看起来ipa文件大小最接近,实际上我的应用程序在商店里显示为17.6MB,而.ipa文件大小是(现在)16.7MB,二进制大小为3.3MB。


1
哇...我甚至没有看到那一行。我的也报告了2倍的.ipa文件大小...在18.6 MB,我据说已经非常接近极限了 : | - Steve
1
我刚刚发现,你不应该只关注.ipa文件的大小,而是应该关注你的应用程序二进制文件的大小加上捆绑包的压缩大小(不包括二进制文件)。http://forum.unity3d.com/threads/40575-Game-size-CHECK-under-10mb - Shizam
那不是一个 .ipa 文件吗?.ipa 包含了二进制和资源 - 如果有什么东西,它会随着资源的压缩而变小。即使将二进制大小和资源压缩后的大小相加,我仍然无法接近所谓的“预计应用商店大小”。 - Steve
@Steve 我也是这么想的,但是按照上述方法进行计算后(这也是一个苹果开发者在开发论坛中建议的方法),我通过“该方法”得到了23.7MB,而我的.ipa文件只有19.9MB。 - Shizam
那个差异(<4MB)可能是因为Xcode在构建项目并调整zip设置时为您执行PNG优化。这绝对不是2倍大小!所以我仍然感到困惑。 - Steve
2个回答

4
对于大多数iOS应用程序,您可以更多或更少地忽略XCode的“估计”(或将其大致减半)。IPA是应用程序的大小。估计大小翻倍似乎与4.3.2中的架构构建重大改进有关。由于您可能正在为“armv6 armv7”构建应用程序,因此它会使其加倍出现某些原因。我最近上传了稍作更改的先前15MB应用程序。 XCode显示存档的30MB估计大小。果然,新应用程序在应用商店上实际上只有15.2MB。
如果您想要更好的估计,请右键单击组织器中的存档并选择在Finder中显示。在那里,您可以再次右键单击并深入存档以查看实际包和内容。该应用程序是唯一具有实质性大小的东西,并且非常好地估计了App Store的大小。

我认为估算是将.app文件的大小和dSYM文件的大小压缩在一起计算的。也许苹果公司曾经计划或正在计划将dSYM文件捆绑在ipa文件中,因此基于它们的包含来进行估算,但实际上并没有包括它们? - OldPeculier
请注意,如果您正在查看iOS9及以上版本,则应用程序切片可以消除大部分讨论。 - iisystems

4

App Store会对大多数二进制可执行文件进行加密,这使得它在新的ipa文件中不再可压缩。每个客户都会在App Store上创建一个新的ipa文件。你需要查看你的二进制可执行文件的未压缩大小,并将大部分大小添加到压缩后的.ipa文件大小中,以获取新的App Store .ipa文件大小。


1
我提到了一个具有相同建议的链接:http://forum.unity3d.com/threads/40575-Game-size-CHECK-under-10mb,按照那种方法,我得到了总共23.7MB的大小,而不是19.9MB(我的.ipa文件大小)。但这并不能解释为什么Xcode 4.3会说我的估计大小是39.8MB。 - Shizam
我相信这是对于问题“为什么应用商店的大小比‘ipa’文件的大小要大得多?”的实际答案。 - Fattie
根据苹果关于应用程序大小的技术问答文章,他们解释说整个二进制文件都被压缩,但是应用程序二进制文件的加密会降低其效果:https://developer.apple.com/library/ios/qa/qa1795/_index.html - Michael Voong

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