最近大家在使用支付宝或者百度地图打包工程的时候容易报关于bitcode的错误,先看看怎么解决吧。
再编译一次就通过了。
注意:IOS中bitcode是默认YES,watchOS中bitcodes是不让改的必须YES。
于是呢,我就想知道Bitcode是什么东西,官方文档是这么说的:Bitcode is an intermediate representation of a compiled program. Apps you upload to iTunes Connect that contain bitcode will be compiled and linked on the App Store. Including bitcode will allow Apple to re-optimize your app binary in the future without the need to submit a new version of your app to the store. 翻译过来应该是这样的:给app瘦身的另一个手段是提交Bitcode给Apple,而不是最终的二进制。Bit code是LLVM(构架编译器的框架系统)的中间码,在编译器更新时,Apple可以用你之前提交的Bitcode进行优化,这样你就不必再编译更新后再次提交你的app,也能享受到编译器改进所带来的好处。
当我们提交程序到App store上时,Xcode会将程序编译为一个中间表现形式(bitcode)。然后App store会再将这个bitcode编译为可执行的64位或者32位程序。
既然提到了瘦身,他又是怎么做到给app瘦身的呢?下面说一下另一种瘦身方法:
在之前的App应用程序中,我们下载的app其实里面有一些并不需要的东西,比如我的5s下载QQ并不需要3x图,但是,我们下载的却是整套的资源。这样就是时间和流量的浪费。也许就是这个原因,iOS9之后才出现了bitcode,我们开发者只需要使用asset cataloglog 来管理素材标记2x 和 3x图就可以了。