BitCode是啥
Bitcode是一个编译程序的中间层。一个包含bitcode并上传到iTunes Connect的应用程序可以在App Store内进行编译和链接。包含bitcode的APP将允许苹果在未来优化你的应用程序的二进制,而不是提交新的应用程版本到App Store。
有啥用
说说缺点:使用bitcode的时候会增加APP的体积,而且增加的不是一点点。
说说优点:不使用bitcode的话,每次更新app,资源会全下载;而用的话,更新app,只会更新一部分资源。
如何使用
-
Xcode 7默认开启Bitcode,但可选的。
路径:TARGETS -> Build Settings -> 搜索“bitcode” 改变布尔值 -
静态库支持bitcode:
在库路径 TARGETS -> Build Settings -> 搜索"OTHER_CFLAGS" 添加"-fembed-bitcode"
注意事项
-
如果应用开启Bitcode,那么其集成的第三方库也需要是Bitcode编译的包才能真正进行Bitcode编译,否则会出现这样的报错:
bitcode报错.png -
开启Bitcode编译后,编译产生的.app体积会变大(中间代码,不是用户下载的包),且.dSYM文件不能用来表示崩溃日志的符号文件。上传到AppStore时的提示也是不一样的:
bitcode未开启.png
bitcode开启.png
- 用户下载的包是Apple服务重新编译产生的,有产生新的符号文件,通过Archive方式上传AppStore的包,可以在Xcode的Organizer工具中下载对应安装包的新的符号文件,如下图 image.png