如何在上传之前检查iOS应用程序的大小

51

我希望在提交应用程序到应用商店之前能够检查其大小。更具体地说,我需要知道它是否小于20MB的限制,以便允许使用蜂窝移动数据进行下载,因为这个应用程序是为一个节日而创建的。


提醒各位读者,截至2019年5月31日,手机下载限制为200MB。详情请见https://9to5mac.com/2019/05/31/apple-iphone-cellular-limit-increased/。 - aaronvargas
实际上,现在用户可以覆盖这个限制。https://9to5mac.com/2019/06/03/ios-13-removes-200-mb-file-size-limit-for-app-downloads-over-cellular/ - aaronvargas
9个回答

46

这个问题很久以前就提出了,但我认为它仍然有意义。以下是我上传应用进行审核时收到的来自 Apple 的最新消息:

您提交的应用程序二进制文件大小为 79.7MB,但在处理后将达到 132.2MB。这超出了蜂窝网络下载大小限制,需要通过 Wi-Fi 下载您的应用。

在提交应用之前无法知道 "处理后的 App Store 大小",即使你看过Organizer/Archives视图内的估算功能也不能确定。

Organizer/Archives 视图中有一个功能可让您估计最终应用程序的大小。我发现这个估计并不准确。如果你想查看此估计,请查看下面的按钮:

enter image description here

所以我学到的是,“已处理的 App Store”部分意味着您的 .ipa 文件不是用户将下载的最终应用程序大小的准确度量标准。Organizer/Archives 的估计是不正确的,估计值比实际大小高,例如,发送审核的存档被估计为约 109 MB,在商店中的最终应用程序大小为约 90 MB,.ipa 文件大小为约 47 MB。

为什么最终大小比 IPA 文件大?

我也想知道答案,据我所知,这与 Apple 添加到 .ipa 的 DRM 相关。

更新(2015 年 6 月)

Xcode 的最新版本没有 "估算应用商店大小"选项。

更新(2017 年 11 月)

App Store Connect 上提供了应用程序的估计大小信息:

My Apps > App > Activity > Select a build > App Store File Sizes

在此输入图片描述

这段内容是一个HTML代码块,其中包含了一张图片的地址链接。

27
从App Store下载的安装文件会根据设备和应用的瘦身情况而有所不同。adhoc分发的.ipa文件将给出App Store安装文件大致大小的估计。在Xcode中对应用程序进行归档,然后进行adhoc分发。如果在制作此文件时关闭应用瘦身,则可以看到安装文件可能的最大大小。如果打开应用瘦身并生成所有变体的.ipa文件,则可以看到所有不同的安装文件大小。
要查看更准确的答案,请将应用程序提交到TestFlight。在您的设备上的TestFlight应用中,通过检查应用程序详细信息,您可以查看应用程序的大小。在多个设备上进行检查,如果应用瘦身过程认为您的设备足够不同并使用来自应用程序存档的不同资源,则大小会有所变化。
以下是原始答案:
在Xcode 4中:当您的应用程序准备好进行分发时,请对其进行归档。在组织者中,选择“归档”选项卡。在左侧列中选择您的应用程序。在右侧列中选择最新的归档。点击顶部部分的“共享...”按钮。将文件保存为.ipa文件,在Finder中检查文件大小。

1
只是提醒一下:IPA文件只是一个zip文件 :) 上传到应用商店之前的最后一步是将您的应用程序压缩成zip文件 - 您可以检查该压缩文件的大小 :) (这样可以避免您构建存档) - deanWombourne
1
在xCode 4中,内置的应用程序加载器会处理所有这些问题,因此“分享...”按钮方法是正确的选择! - ViggoV
4
.ipa文件大小并不代表最终应用程序二进制文件的大小,请查看我对这个问题的回答。 - Vamos

8
在当前版本的XCode(撰写时为4.5),您只需要单击“Product > Archive”即可。组织者的“Archives”选项卡将打开,并且当选择存档时,应用商店中的预估大小将仅在其中一个信息字段中显示。

7

现在,使用 Xcode > 10,您可以通过 Xcode 归档工作流程获得您 *.ipa 文件的真实大小。当您获取存档时,打开带有存档项目的用户文件夹。位置是

~/Library/Developer/Xcode/Archives

在这里,您将找到您最后一个带有 .xcarchive 扩展名的存档项目以及之前归档过的所有项目窗口。然后,选择您的项目并单击右侧菜单中的 Distribute App 按钮。选择 Ad hoc,需要将构建的 .ipa 本地导出。当您构建它时,请存储在任何文件夹中。您的文件夹应该命名为

Stage 2019-06-27 10-14-30

在此文件夹中,您将找到一个名为 App Thinning Size Report 的文件。此文件包含关于不同设备和 iOS 版本的任何 .ipa 文件的所有信息及其压缩/未压缩大小。


3

您需要进行构建和归档应用程序,然后才能检查您的IPA文件大小。

IPA归档(IPhone App)是用户从App Store下载的文件


2

在Xcode 8中,由于“估算大小”按钮消失了,一个获取非常接近估计值的方法(在我的情况下,AppStore版本恰好是+2mb)是:

  • 归档您的应用程序
  • 将您的应用程序导出为“iOS App Store Deployment”
  • 提取生成的IPA文件(快速方法,将其重命名为zip并双击打开)
  • 进入.app文件夹(Payload/YOUR_APPLICATION)
  • 压缩它(使用默认的Finder操作进行zip压缩)

完成了 :-)


这如何考虑架构切片? - hris.to

1
如果您在开发过程中最后一次在设备上测试了应用程序,然后准备上传到App Store,您可以进入“设置->通用->iPhone存储空间”,滚动应用程序列表并找到您的应用程序。每个应用程序都有大小列出。这应该是您应用程序大小的良好估计。

1
你可以通过 App Store Connect 进行此操作:
  1. 在 App Store Connect 中选择你的应用程序
  2. 选择“活动”
  3. 在左侧窗格上选择“所有构建”
  4. 选择构建并查找“压缩文件大小”

0
构建应用程序,获取产品文件夹中的 .app 文件,在查找器中显示并选择该应用程序,右键单击,选择“获取信息”以查看应用程序的大小。

哦,我在我的产品文件夹中找到的唯一一个.app文件比预期的结果要小得多。 - ViggoV
2
与苹果的最终计算相比,它有多准确? - Praxiteles

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