ios - 按设备类型拆分 iOS 应用程序的 IPA 文件以减少下载/安装大小

标签 ios application-size

支持大量设备的 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 文件大小”列表包含一个可以按设备显示多个此类版本的表格:

enter image description here

是否可以以某种方式构建和上传应用程序的多个特定于设备/平台的版本,以减少每个版本的“下载大小”和“安装大小”,而不是使用单个“通用”版本?

额外问题:如果可能的话,我该如何在 RoboVM 中做到这一点? :)

顺便说一句:Android 上的同一个应用程序(包括相同的图形和音频 Assets 以及几乎相同的代码库)只有 6.0MB!但这可能是 RoboVM 引入的必要的膨胀。我仍然需要研究如何减少这种情况......

最佳答案

@RP 是正确的。当您上传 Bitcode 版本时,Apple 使用称为“切片”的应用程序细化技术来准确创建您正在谈论的内容。

请参阅App Distribution Guide了解更多详情。

关于ios - 按设备类型拆分 iOS 应用程序的 IPA 文件以减少下载/安装大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35465153/

相关文章:

iOS 8 UITableView 第一行高度错误

ios - iOS 中的自定义 "resizable image"绘图

delphi xe禁用RTTI

node.js - 存储静态内容时应用程序大小重要吗?

ios - 用户转到主屏幕后,按钮不会更改单击时的图像

ios - Swift 中的 cURL 等价物 - iOS

ios - 开发者在 Apple Watch 上使用 "Taptic Engine"

swift - 从核心数据中删除照片后,iOS App 文件大小未减小

java - Google App Engine(java) - 由于超出应用程序大小限制,应用程序上传失败 - (免费帐户)