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

拆分iOS应用程序';按设备类型划分的IPA文件,以减少下载/安装大小,ios,application-size,Ios,Application Size,支持大量设备的iOS应用程序至少需要为两种不同的平台编译:armv7和arm64。从构建过程来看,生成的IPA文件基本上包含两个完整版本的应用程序,每个平台编译一个。我希望App Store足够聪明,可以将这两个版本重新打包为两个单独的下载,以便在下载过程中只将实际需要的版本发送到特定设备并安装到特定设备上。但看看iTunes Connect,情况似乎并非如此。事实上,情况比这更糟: 我为我的应用程序上载的IPA文件在我的计算机上为16.8MB 在iTunes Connect的“构建详细信息”

支持大量设备的iOS应用程序至少需要为两种不同的平台编译:armv7和arm64。从构建过程来看,生成的IPA文件基本上包含两个完整版本的应用程序,每个平台编译一个。我希望App Store足够聪明,可以将这两个版本重新打包为两个单独的下载,以便在下载过程中只将实际需要的版本发送到特定设备并安装到特定设备上。但看看iTunes Connect,情况似乎并非如此。事实上,情况比这更糟:

  • 我为我的应用程序上载的IPA文件在我的计算机上为16.8MB
  • 在iTunes Connect的“构建详细信息”下,“压缩文件大小”与这些16.8MB匹配
  • 不过,在“应用商店文件大小”下,“下载大小”列为36.8MB
  • 更糟糕的是,“安装大小”为48.6MB
太疯狂了!好的,我可以理解为什么“安装大小”比“压缩文件大小”大,但是为什么“下载大小”很大???下载后在设备上进行解压缩不是更好吗?但我离题了

iTunes Connect似乎支持为不同的设备上传多个版本的应用程序。至少“应用商店文件大小”列表包含一个表,该表可以按设备显示多个此类版本:

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

奖金问题:如果可能,我如何在RoboVM中做到这一点


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

@RP是正确的。当你上传一个位码构建时,苹果使用一种叫做切片的应用细化技术来创建你所说的内容


有关更多详细信息,请参阅。

您可以使用iOS 9中引入的技术来实现这一点。应用程序细化有三个主要方面:

  • 应用程序切片
  • 随需应变资源
  • 位码

  • 对于您的情况,您可以探索应用程序切片和位代码

    你有没有看过我想要的应用程序细化-@RP,特别是“切片”部分。如果你愿意,你可以把你的评论变成一个答案,这样我就可以接受了!然后,我只需要找到我如何使用RoboVM执行步骤3(创建和归档应用程序…)的参考资料……不幸的是,该指南在细节方面有点薄弱。RoboVM允许我导出两个不同的.ipa文件。一个用于armv7,一个用于arm64。你知道我该怎么把这些打包成一个文件吗?或者我只是使用应用程序加载器同时上传这两个文件?或者您同时上传这两个文件,或者–更好–通过位代码将其导出(请参阅)。