归档 iphone 时应用程序大小翻倍
Posted
技术标签:
【中文标题】归档 iphone 时应用程序大小翻倍【英文标题】:App size double on archiving iphone 【发布时间】:2012-08-14 03:50:31 【问题描述】:我检查了我的应用产品大小约为 10MB,但是当我构建它以进行归档时,它显示 Appstore 大小为 20MB,即它几乎翻了一番。但是当我在文件夹中看到存档时,它的大小仍然是 10MB,我不知道为什么会发生这种情况,因为它支持两种架构,即 armv6 和 armv7。如果我提交 20MB 的应用程序,我在 Appstore 上的最终大小会是多少。如果有人有任何想法,请告诉我。
【问题讨论】:
【参考方案1】:ios 应用商店服务器将加密您的应用程序包中的可执行二进制文件以供客户下载,从而使应用程序的可压缩性远低于您当前的存档。这是因为加密产生的看起来随机的位不像 armv6 或 armv7 机器代码那样可压缩。
因此,获得更真实的 App Store 下载大小的方法是从应用包中删除可执行文件,压缩包,记下 zip 大小,然后添加未压缩的可执行文件大小。
如果您不想混淆 C 代码中的大量静态数据,那么将这些静态数据移动到捆绑包中的数据文件中可能有助于减少应用商店的大小。
【讨论】:
【参考方案2】:您是否尝试过解压缩 ipa 文件(将 .ipa 重命名为 .zip)并查看 Payload?首先查找不需要的文件。如果您不进行干净的构建,那么有效负载将包含比您预期更多的垃圾。此外,请根据发布版本(而不是调试版本)检查大小,因为两者之间的设置可能不同。
【讨论】:
我尝试解压 .xcodearchive,它显示 10MB 的大小和资源很好,但提交应用程序显示 20MB 的文件大小。 我刚刚检查了我提交的一个应用程序。 xcodearchieve 为 2.7 MB。 dSYM 文件大约 1 兆,应用程序大约 1.6 MB。但是,有趣的是,商店上写着 1 MB!您在哪里看到 20MB? 尝试设置为 arm6 以查看它是否变小。您最初的假设可能是正确的。或者如果你不需要支持旧的 iOS 版本,换成 arm7。【参考方案3】:Xcode 现在将您的调试符号(.dSYM 文件)与您的应用程序包 (.ipa) 一起保存,以便以后可以正确地符号化崩溃报告。 .dSYM 文件往往很大,因此您的整个应用程序包 (.ipa) 可能比单独的应用程序 (.app) 大得多。归档应用程序时,您通常只会看到总 .ipa 大小。到那时,就可以很好地估计应用在 App Store 上的实际规模。
【讨论】:
以上是关于归档 iphone 时应用程序大小翻倍的主要内容,如果未能解决你的问题,请参考以下文章
归档应用程序时,Xcode 认为我的 Icon@2x.png 是为 iPad 而不是 iPhone 4
我的 iPhone 应用程序被归档为“Mac App Archive”而不是“iOS 应用程序归档”
在 Unity 中使用 Play Asset 交付后,应用程序大小翻倍