IOS9的新特性--Bitcode

**使用支付宝开发的时候遇到这个提示

 1

**关键的就是红框内的提示

ld: '/Users/fcl/Desktop/我的IOS开发x/课件和笔记<2015-10-8>/7补充/3支付宝/我的支付宝宝/FCLZhiFuBaoDemo/FCLZhiFuBaoDemo/AlipaySDK/AlipaySDK.framework/AlipaySDK' 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

**翻译过来就是

在这个路径下的AlipaySDK这个文件不包括(支持)bitcode。你必须在AlipaySDK支持了bitcode后重新运行,或者禁用bitcode。我们暂时没有能力让支付宝为我们的当前的小程序去改变SDK,所以只能乖乖的禁用这个Bitcode了。

如何禁用呢?——看下图

IOS9的新特性--Bitcode_第1张图片
 2

**再次编译,通过了!

但是,这个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.

这段话喵神onev’sDen是这样翻译的翻译:给App瘦身的另一个手段是提交Bitcode给Apple,而不是最终的二进制。Bitcode是LLVM的中间码,在编译器更新时,Apple可以用你之前提交的Bitcode进行优化,这样你就不必再编译器更新后再次提交你的App,也能享受到编译器改进所带来的好处。

好了,现在你对Bitcode有一个初步的认识了吧。

**既然提到了瘦身,那么我们不妨把IOS9中的瘦身来一个全面的认识吧(就是想打破砂锅问到底,嘿嘿)

在之前的App应用程序中,我们下载的app其实里面有一些并不需要的东西,比如我的5S下载QQ并不需要3X的图片,但是,我们下载的却是整套的资源。这样严格来说却是浪费时间和流量——吐槽一下咱们宝贵的流量,可能苹果确实是良心发现了吧,哈哈....所以,在IOS9之后,可以仅选择需要的内容来下载。这对用户来说很有利,对于开发者来说也并不太麻烦,只需要使用asset catalog来管理素材标记2X 和 3X图就可以了。

这是IOS9瘦身的一种方式,另外一种就是上面的Bitcode了。

你可能感兴趣的:(IOS9的新特性--Bitcode)