在以前的
Xcode版本中,有一个地方可以估计您的应用的归档/二进制文件大小.归档后的组织者可以简单地点击估计文件大小.在6.3中,没有这样的按钮或功能!奇怪的是,在Xcode 6.2中,这个功能还在.它是否位于隐藏的地方,还是我遗漏的东西?请告知他们是否不赞成使用此功能.您可以在查找器中查看文件或存档,但它与“估计大小”不同.
如果要创建低于100mb阈值的应用程序,这是必不可少的.保持我的应用程序在100mb蜂窝下载限制下有助于增加iOS用户的“冲动”购买.这在Android操作系统中容易得多,因为您可以简单地查看APK的大小.
解决方法
IPA /应用程序大小并不能为App Store提供可靠的最终尺寸估算值.苹果重新加密可执行文件,这通常意味着它不会像您上传的软件包那样压缩.
一旦你有.app(*),你需要做一个“显示包内容”,找到可执行文件并将其移出.app.将.app压缩为.zip(确保可执行文件不再包含在其中)并记下该大小.将该数字添加到可执行文件的未压缩大小的大小,加上〜100K,这将给你绝对最大的最终包大小:
TheorecticalMax = CompressedAppWithoutExec + UncompressedExec + 100K
实际上,您仍然可以获得可靠的压缩比(如果您知道以前版本的AppStore大小,或者Apple已经通知您提交后,您可以制定上次提交的压缩比).作为一个例子,我们在一个32位的64位可执行文件中获得了82%的压缩率,内置在Unity 5.0.1中,用于2D匹配三个标题,所以在我们的例子中,这是数字如何解决:
Submitted IPA size: 78.2MB
Apple reported size after AppStore preparation: 107.4MB (!)
经过一些严格的优化,我们得到了.ipa:
IPA: 62MB Uncompressed executable: 76.6MB (!!! THANKS UNITY !!!) Compressed executable assuming similar 82% compression: 62.8MB APP minus executable: 85.8MB Compressed APP minus executable: 33.7MB
这给了我们最终的估计:
76.6*0.82 + 33.7 + 0.1 = 96.6MB
仍然削减它,但我们几天前提交了,还没有收到任何来自苹果的消息,我们超过了100MB(他们以前报告了上次提交几个小时后,必须是一个自动检查)
(*)要从.xcarchive获取.app,只需“显示包内容”,然后“Products->应用程序”.从.ipa,将其重命名为.zip,解压缩为任何.zip文件,然后查看“有效载荷”