最近项目打包出现问题:
ld: '/Users/gyy/Library/SDKs/ArcGIS/iOS/ArcGIS.framework/ArcGIS(libArcGISRT.a-armv7-master.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 armv7
上面出现的错误的原因是,引入的第三方库不支持Bitcode。只需要把Bitcode的设置改为NO即可。(如下图所示)
![](https://img.haomeiwen.com/i1865335/b873c3258d3ffbef.jpg)
接下来我们谈谈Bitcode
Bitcode 是什么?
官方文档
Distribution Guide–App Thinning (iOS, watchOS)一节中,提到
Bitcode is an intermediate representationof a compiled program. Apps you upload to iTunes Connect that contain bitcodewill be compiled and linked on the App Store. Including bitcode will allowApple to re-optimize your app binary in the future without the need to submit anew version of your app to the store.
说bitcode是被编译程序的一种中间形式的代码。包含bitcode配置的程序将会在Appstore上被编译和链接。bitcode允许苹果在后期重新优化程序的二进制文件,而不需要重新提交一个新的版本到Appstore上。
Bitcode
Apps that include incorrectly-built bitcode in frameworks and libraries are rejected by the App Store.
If you are a provider of framework and library products for iOS, watchOS, and tvOS platforms, your products must include full bitcode content. The Xcode 7 build system defaults include enabling the Enable Bitcode build setting, but standard Debug or Release builds do not include the full bitcode content in the built framework and library products.
Xcode7默认会开启Bitcode。
网友评论