支持大量设备的 iOS 应用程序需要针对至少两个不同的平台进行编译:armv7 和 arm64。从构建过程来看,生成的 IPA 文件基本上包含应用程序的两个完整版本,一个为每个平台编译一个版本。我希望 App Store 能够足够聪明,将这两个版本重新打包为两个单独的下载,以便在下载过程中仅将实际需要的版本发送到并安装在特定设备上。但看看 iTunes Connect,情况似乎并非如此。事实上,事情变得更糟:
- 我为应用上传的 IPA 文件在我的计算机上为 16.8MB。
- 在 iTunes Connect 的“构建详细信息”下,“压缩文件大小”与这 16.8MB 匹配
- 但在“App Store 文件大小”下,“下载大小”列为 36.8MB!!!
- 而且,更糟糕的是,列出的“安装大小”为 48.6MB!
太疯狂了!好吧,我可以理解为什么“安装大小”比“压缩文件大小”大,但为什么“下载大小”那么大???下载后在设备上解压不是更好吗?但我离题了...
iTunes Connect 似乎支持为不同设备上传多个版本的应用程序。至少“App Store 文件大小”列表包含一个可以按设备显示多个此类版本的表格:
是否可以以某种方式构建和上传应用程序的多个特定于设备/平台的版本,以减少每个版本的“下载大小”和“安装大小”,而不是使用单个“通用”版本?
额外问题:如果可能的话,我该如何在 RoboVM 中做到这一点? :)
顺便说一句:Android 上的同一个应用程序(包括相同的图形和音频 Assets 以及几乎相同的代码库)只有 6.0MB!但这可能是 RoboVM 引入的必要的膨胀。我仍然需要研究如何减少这种情况......
最佳答案
@RP 是正确的。当您上传 Bitcode 版本时,Apple 使用称为“切片”的应用程序细化技术来准确创建您正在谈论的内容。
请参阅App Distribution Guide了解更多详情。
关于ios - 按设备类型拆分 iOS 应用程序的 IPA 文件以减少下载/安装大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35465153/