位码是已编译程序的中间表示。启用它将增加开发人员前端的构建 (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/