iOS does not contain bitcode 报错解决

最近在做银联在线支付的SDK中, 遇到这样一个报错
iOS does not contain bitcode 报错解决_第1张图片

问题出在这里,
ld: x’x’x’x’x’x’x’x’x’x’x’x 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
clang: error: linker command failed with exit code 1 (use -v to see invocation)
解决方法:
iOS does not contain bitcode 报错解决_第2张图片

以上先解决问题,下面开始了解 bitcode 是什么鬼
由于SDK是oc,c++ 混编起来的 在other link flag那边 除了设置 -ObjC 以外, 由于iOS7以后 bitcode设置为默认YES,所以导致SDK链接出错,就是由于我们的这个SDK以前没有包含Bitcode的代码,所以这里 我们设置为NO

bitcode:是一种被编译之后的中间代码形式,包含了bitcode的程序,可以被允许在APP Store上被编译和链接,总之,是苹果为了方便而设计的.那么问题来了,想要解决bitcode报错,要么是让SDK包含BItcode,要么就是你在工程里 自己关掉Bitcode 即可.

注意:
对于iOS,bitcode是可选的;对于watchOS,bitcode是必须的;而Mac OS是不支持bitcode。

你可能感兴趣的:(ios,xcode,sdk)