在iOS 9之前,我们的IPA大小约为6MB.通过
@L_301_0@ 7归档和导出我们的IPA后,我们的IPA增加到大约17MB.经过进一步调查,我们发现在导出设置中启用“Bitcode”选项是导致大文件大小跳转的原因.
我的问题是:如果我们启用此选项,我们的IPA大小是否会在商店中达到17MB?或者Apple是否对捆绑做了一些事情,使其大小与以前大致相同(6MB).
目前关于Bitcode的信息并不多,我希望在提交给商店之前得到通知. 6MB和17MB就足够了.
解决方法
Bitcode是编译程序的中间表示.启用它将增加开发人员前端的构建(ipa)大小.
iOS可以在不同的cpu(i386,x86_64,arm,arm64等)上运行,如果你想在任何iOS设置上运行程序,那么程序应该包含每个平台的目标代码.运行程序时,OS会读取“目录”并查找与OS cpu对应的片.例如,如果在x86_64上运行操作系统,则OS会将x86_64的目标代码加载到内存中并运行该程序.
目前,AppStore上的所有应用程序都包含arm和arm64 cpu的目标代码.此外,第三方专有库或框架包含i386,arm和arm64的目标代码,因此您可以使用它们在设备和/或模拟器上测试应用程序.
Bitcode如何运作?
当您提交应用程序(包括Bitcode)时,Apple的’BlackBox’会为每个支持的平台重新编译它并删除任何“无用的”对象代码,因此AppStore会为每个cpu提供应用程序的副本.当最终用户想要安装应用程序时 – 她只安装特定处理器的版本,没有任何未使用的东西.
Bitcode可以为每个程序节省高达50%的磁盘空间.