美文网首页
xcode配置bitcode说明

xcode配置bitcode说明

作者: code_牧轩 | 来源:发表于2018-06-06 17:08 被阅读0次

描述:

做iOS开发的朋友们都知道,从Xcode7开始,新建项目默认就打开了bitcode设置.而且大部分开发者都被这个突如其来的bitcode功能给坑过导致项目编译失败,而这些因为bitcode而编译失败的的项目都有一个共同点,就是链接了第三方二进制的库或者框架,而这些框架或者库恰好没有包含bitcode的东西(暂且称为东西),从而导致项目编译不成功.所以每当遇到这个情况时候大部分人都是直接设置Xcode关闭bitcode功能,全部不生成bitcode.也不去深究这一开关背后隐藏的原理,和我一样。

LLVM是目前苹果采用的编译器工具链,Bitcode是LLVM编译器的中间代码的一种编码,LLVM的前端可以理解为C/C++/OC/Swift等编程语言,LLVM的后端可以理解为各个芯片平台上的汇编指令或者可执行机器指令数据,那么,BitCode就是位于这两者直接的中间码. LLVM的编译工作原理是前端负责把项目程序源代码翻译成Bitcode中间码,然后再根据不同目标机器芯片平台转换为相应的汇编指令以及翻译为机器码.这样设计就可以让LLVM成为了一个编译器架构,可以轻而易举的在LLVM架构之上发明新的语言(前端),以及在LLVM架构下面支持新的CPU(后端)指令输出,虽然Bitcode仅仅只是一个中间码不能在任何平台上运行,但是它可以转化为任何被支持的CPU架构,包括现在还没被发明的CPU架构,也就是说现在打开Bitcode功能提交一个App到应用商店,以后如果苹果新出了一款手机并CPU也是全新设计的,在苹果后台服务器一样可以从这个App的Bitcode开始编译转化为新CPU上的可执行程序,可供新手机用户下载运行这个App.

用法:

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

范围:

对应iOS,bitcode是可选的。

对于watchOS,bitcode是必须的。

Mac OS不支持bitcode。

相关文章

  • xcode配置bitcode说明

    描述: 做iOS开发的朋友们都知道,从Xcode7开始,新建项目默认就打开了bitcode设置.而且大部分开发者都...

  • Bitcode 使用了解

    Bitcode 是 Xcode7 的新特性。 查看 Bitcode: Bitcode 官方说明: 根据以上描述可以...

  • iOS打包ipa测试

    打开Xcode项目Product-->Archive 编译过程如果出错可能是Bitcode配置是YES改成NO 关...

  • X-code编译bitcode报错

    bitcode 使 用Xcode编译提示:XXX does not contain bitcode. You mu...

  • 静态库打包常见 问题

    静态库打包Bitcode 问题 Bitcode是Xcode7之后引入的新特性,开启Bitcode后上传到应用商店的...

  • pod 引用Flutter

    与老版本不同的是,这么增加完引用之后,不需要自己配置Shell与设置bitcode{我的环境,Xcode11.5f...

  • ios常见错误

    问题:xcode 7编译错误:bitcode is not supported on versions of iO...

  • xcode常见错误处理

    问题:xcode 7编译错误:bitcode is not supported on versions of iO...

  • xcode 各种错误总结

    问题:xcode 7编译错误:bitcode is not supported on versions of iO...

  • XCode 项目配置说明

    项目配置: 基本项(Basic)1、Architectures(指令集)——设置你想支持的指令集,目前ios的指令...

网友评论

      本文标题:xcode配置bitcode说明

      本文链接:https://www.haomeiwen.com/subject/utxisftx.html