xcode编译错误之BuildWithoutFullBitcode

编译错误

在引入外部某.a库之后,archive就无法成功了。报错为

1
2
bitcode bundle could not be generated because'xxxx.a' was built without full bitcode.
All object files and libraries for bitcode must be generated form Xcode Archive or Install build for architecture arm64

解决方案1

搜这个问题的时候,大多数解决方案都说:

1
2
 "Enable Bitcode" set to "Yes":
add the -fembed-bitcode flag to the Other C flags option

于是查了一下fembed-bitcode相关的东西

比如这个https://stackoverflow.com/questions/31233395/ios-library-to-bitcode

和这个https://stackoverflow.com/questions/34959767/whats-the-difference-between-fembed-bitcode-and-bitcode-generation-mode

解决方案2

但也有一个完全相反的回答……
说把Enable bitcode设成 NO

就这个https://stackoverflow.com/questions/36480665/xcode-project-build-successfully-but-when-archiving-bitcode-bundle-could

两种答案都有人说,Perfectly worked

Finally

然而对我而言,最崩溃的莫过于,这两个解决方案都行不通_(:з」∠)_
还有一条线索是,只有arm64报错,armv7编译成功。感觉是那个.a文件本身生成的时候没有arm64支持或者说编的时候没Enable Bitcode,毕竟是16年的东西,后面技术支持的人都找不到= -.

能不能不编arm64?于是又查了查armv7和arm64……
iOS 中的 armv7,armv7s,arm64,i386,x86_64 都是什么
结论是不能,否则6s以上都GG。

最后决定。把这个库和这个库相关的功能都删了= -.

后续

刚写到最后决定以后……几天没反应的客服突然出!现!了!
让我换个.a文件。
过了.
over.