[OC] 理解Bitcode:一种中间代码

Tip:参考资料

  Bitcode是什么?

  bitcode是被编译程序的一种中间形式的代码。包含bitcode配置的程序将会在App store上被编译和链接。bitcode允许苹果在后期重新优化我们程序的二进制文件,而不需要我们重新提交一个新的版本到App store上。

  当我们提交程序到App store上时,Xcode会将程序编译为一个中间表现形式(bitcode)。然后App store会再将这个botcode编译为可执行的64位或32位程序。

  Bitcode配置

在上面的错误提示中,提到了如何处理我们遇到的问题:

  You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target. for architecture arm64

  要么让第三方库支持,要么关闭target的bitcode选项。

  实际上在Xcode 7中,我们新建一个iOS程序时,bitcode选项默认是设置为YES的。我们可以在”Build Settings”->”Enable Bitcode”选项中看到这个设置。

  不过,我们现在需要考虑的是三个平台:iOS,Mac OS,watchOS。

  • 对应iOS,bitcode是可选的。

  • 对于watchOS,bitcode是必须的。

  • Mac OS不支持bitcode。

Tip:如果我们的工程需要支持bitcode,则必要要求所有的引入的第三方库都支持bitcode.

原文地址:https://www.cnblogs.com/blogwithstudyofwyn/p/6092693.html