9

在 iOS 9 之前,我们的 IPA 大小约为 6MB。通过 Xcode 7 归档和导出我们的 IPA 后,我们的 IPA 增加到大约 17MB。经过进一步调查,我们发现在导出设置中启用“Bitcode”选项是导致大文件大小跳跃的原因。

我的问题是:如果我们启用此选项,我们的 IPA 大小是否会在商店中为 17MB?或者 Apple 是否对捆绑包做了一些处理以使其大小与以前大致相同(6MB)。

目前没有太多关于 Bitcode 的信息,我想在提交到商店之前得到通知。6MB 和 17MB 的差异足以引起关注。

4

1 回答 1

18

位码是已编译程序的中间表示。启用它将增加开发人员前端的构建 (ipa) 大小。

iOS 可以在不同的 CPU(i386、x86_64、arm、arm64 等)上运行,如果你想在任何 iOS 设置上运行程序,那么程序应该包含每个平台的目标代码。当您运行程序时,操作系统会读取“目录”并查找与操作系统 CPU 对应的切片。例如,如果您在 x86_64 上运行,那么操作系统会将 x86_64 的目标代码加载到内存中并运行程序。

目前,AppStore 上的所有应用程序都包含 arm 和 arm64 CPU 的目标代码。此外,第三方专有库或框架包含 i386、x86_64、arm 和 arm64 的目标代码,因此您可以使用它们在设备和/或模拟器上测试应用程序。

比特码是如何工作的?当您提交应用程序(包括 Bitcode)时,Apple 的“BlackBox”会针对每个受支持的平台重新编译它并删除任何“无用”的目标代码,因此 AppStore 为每个 CPU 都有一个应用程序副本。当最终用户想要安装应用程序时 - 她只安装特定处理器的版本,没有任何未使用的东西。

Bitcode 可以为每个程序节省多达 50% 的磁盘空间。

参考: http: //lowlevelbits.org/bitcode-demystified/

于 2016-02-03T11:22:46.883 回答