Xcode编译遇到bitcode问题

最近使用第三方库的时候,经常会遇到在Xcode7下编译报错的问题,错误大都有一个关键字:bitcode。例如:

ld: ‘/Users//Framework/SDKs/PolymerPay/Library/mobStat/libSDK.a(**ForSDK.o)’ does not contain 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

那么bitcode是什么呢?

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

我们要想解决这个问题,要么是第三方库支持bitcode,要么就不启用bitcode。

而对于苹果的三个平台:

  • iOS,bitcode是可选的

  • watchOS,bitcode是必须的

  • Mac OS,不支持bitcode

但是现在用到的很多第三方库还没能支持bitcode,要是等他们都一个个支持就太麻烦了,我们可以在Xcode7中关闭bitcode:

在项目名-->Target-->Build Settings-->Enable Bitcode中设为NO就可以了。

如果我们启用bitcode,那么在提交包时,下面这个界面也会有个bitcode的选项:

image

查看作者首页

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容