您的当前位置:首页正文

iOS 理解BitCode

来源:华佗小知识

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

参考