Bitcode

0. Introduction to Bitcode

1. Build static library or framework via Xcode 7, while user build application using Xcode 7.

"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.

To build framework and library products for distribution and ensure that the full bitcode content is included,

framework and library providers must:

  • Ensure that the Enable Bitcode build setting is correct (ENABLE_BITCODE=YES).

  • Perform either an Archive build or an Install build to produce framework and library products for distribution." Ref[3.6]

2. Build static library or framework via Xcode 7, while user build application using Xcode 6.

"Framework and library providers need to include bitcode for Xcode 7 development, and Xcode 7 generates bitcode by default.

However, bitcode-enabled framework and library products do not work well with Xcode 6. If you still need to support Xcode 6 development,

you must produce an additional version of your products without bitcode.

To build a library without bitcode, either use Xcode 7 with the build setting Enable Bitcode disabled (ENABLE_BITCODE=NO)

or use Xcode 6."

3. How to check whether the static library is built with bitcode enable?

"otool -l (.o or .a file)

and look for "__bitcode" section" Ref[3.7]

 $ otool -l libXX.a | grep __bitcode

4. Errors about Bitcode

4.1 "clang: error: -fembed-bitcode is not supported on versions of iOS prior to 6.0"

将Target/Project的“Build Settings -> Build Options -> Enable Bitcode ”设置为NO


Reference

1. Here's how iOS 9 actually saves space on your iOS device

http://appadvice.com/appnn/2015/06/heres-how-ios-9-actually-saves-space-on-your-ios-device

2. “App thinning” will be a major boon for 8GB and 16GB iPhones and iPads (ToRead)

http://arstechnica.com/apple/2015/06/app-thinning-will-be-a-major-boon-for-8gb-and-16gb-iphones-and-ipads/

3. Bit Code

3.1 ATS and Bitcode in iOS 9

https://developer.ibm.com/mobilefirstplatform/2015/09/09/ats-and-bitcode-in-ios9/

3.2 Apple’s Bitcode Telegraphs Future CPU Plans  (ToRead)

https://medium.com/@InertialLemon/apple-s-bitcode-telegraphs-future-cpu-plans-a7b90d326228

3.3 Bit Code in <<App Distribution Guide>>

https://developer.apple.com/library/prerelease/watchos/documentation/IDEs/Conceptual/AppDistributionGuide/AppThinning/AppThinning.html

3.4 LLVM Bitcode File Format

http://llvm.org/docs/BitCodeFormat.html

3.5 Apple’s biggest developer news at WWDC that nobody’s talking about: Bitcode

http://thenextweb.com/apple/2015/06/17/apples-biggest-developer-news-at-wwdc-that-nobodys-talking-about-bitcode/

3.6 Xcode Release Notes (Xcode 7)

Bitcode

https://developer.apple.com/library/watchos/releasenotes/DeveloperTools/RN-Xcode/Chapters/xc7_release_notes.html

3.7 How to check a static library is built contain bitcode?

http://stackoverflow.com/questions/32755775/how-to-check-a-static-library-is-built-contain-bitcode

3.8 How do I xcodebuild a static library with Bitcode enabled?

http://stackoverflow.com/questions/31486232/how-do-i-xcodebuild-a-static-library-with-bitcode-enabled

OTHER_CFLAGS -fembed-bitcode

4. Understanding Bitcode for iOS Applications

http://www.infoq.com/articles/ios-9-bitcode

iOS.AppThinning-iOS9-new-feature-for-app-thinning-bitcode-odr-slicing的更多相关文章

  1. iOS9 App Thinning(应用瘦身)功能介绍

    iOS9 发布后,产生了一个使 App Thinning 无法正常运行的 bug.在iOS9.0.2 版本中,这个 bug 已经被修复,App Thinning 已经可以正常使用.当你从应用商店(Ap ...

  2. App Thinning

    App Thinning 由于项目中需要开启Bitcode编译,之前对Bitcode也有些误区,故整理了下相关知识,仅供参考,如有不对,还请指出. 当前 iOS App 的编译打包方式是把适配兼容多个 ...

  3. iOS9 beta 请求出现App Transport Security has blocked a cleartext HTTP (http://)

    iOS9 beta 请求出现App Transport Security has blocked a cleartext HTTP (http://) http://www.bubuko.com/in ...

  4. ios9 升级后 企业版app plist无法安装

    昨天apple推送了ios9, 公司的一些app是企业版的,平常通过 item-service 结果更改如下 plist可以了 itms-services://?action=download-man ...

  5. “快的打车”创始人陈伟星的新项目招人啦,高薪急招Java服务端/Android/Ios 客户端研发工程师/ mysql DBA/ app市场推广专家,欢迎大家加入我们的团队! - V2EX

    "快的打车"创始人陈伟星的新项目招人啦,高薪急招Java服务端/Android/Ios 客户端研发工程师/ mysql DBA/ app市场推广专家,欢迎大家加入我们的团队! - ...

  6. (Android+IOS)我们正在做一个新闻App,做几乎一样的,倾听您的建议 (画画)

    (Android+IOS)我们正在做一个新闻App,做几乎一样的,倾听您的建议! 新闻采访是做,前端展示APP界面感觉还不是非常好,还须要改进改进,希望公布(Android和IOS版本号)前听听大家的 ...

  7. ios下微信浏览器如何唤醒app?app已上架应用宝

    android下可以通过在应用宝微下载地址后面加参数&android_schema='应用schema'来实现,ios下如何实现? ios下微信浏览器如何唤醒app?app已上架应用宝 > ...

  8. iOS: iOS9 beta 请求出现App Transport Security has blocked a cleartext HTTP (http://)

    错误描述: App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecu ...

  9. iOS 适配iOS9

    1.网络接口不支持https协议,在iOS9下 在iOS9下,系统默认会拦截对http协议接口的访问,因此无法获取http协议接口的数据. 解决方案(以下方法2选1): (1)暂时退回到http协议 ...

  10. iOS SDK Release Notes for iOS 9 iOS9 SDK 版本更新说明

    Important: This is a preliminary document for an API or technology in development. Apple is supplyin ...

随机推荐

  1. [转]行者,一念一生,成功的背后!(给所有IT人)

    成功的背后,有着许多不为人知的故事,而正是这些夹杂着泪水和汗水的过去,才成就了一个个走向成功的普通人. 凌晨两点半,早 已习惯了一个人坐在电脑前的我,望着屏幕,任思绪在暗夜的包容下静静流淌,时光仿佛又 ...

  2. 墨菲定律-Murphy's Law (转载)

    墨菲定律 “墨菲定律”(Murphy's Law)亦称莫非定律.莫非定理.或摩菲定理,是西方世界常用的俚语. “墨菲定律”:事情往往会向你所想到的不好的方向发展,只要有这个可能性.比如你衣袋里有两把钥 ...

  3. jQuery入门级part.2

    一,事件编程 基本事件: blur(fn)     当失去焦点时 change(fn)  当内容发生改变时 click(fn)    当鼠标单击时 dblclick(fn)  当鼠标双击时 focus ...

  4. JAVA设计模式之享元模式

    在阎宏博士的<JAVA与模式>一书中开头是这样描述享元(Flyweight)模式的: Flyweight在拳击比赛中指最轻量级,即“蝇量级”或“雨量级”,这里选择使用“享元模式”的意译,是 ...

  5. JSP+Servlet中使用cos.jar进行图片上传(文件上传亦然)

    链接:JSP+Servlet中使用jspsmartupload.jar进行图片上传下载 关于cos.jar,百度百科只有这么几句话(http://baike.baidu.com/subview/406 ...

  6. Karma 4 - Karma 集成 Webpack 进行单元测试

    可以将 karma 与 webpack 结合起来,自动化整个单元测试过程. 配置环境 1. 首先根据 1 完成基本的 karma 测试环境. 2. 安装 webpack 和 webpack 使用的 l ...

  7. 43. studio上的json串解析

    var doc = O_PARAMETER.FJSonStr;(doc为:{"items":[],"nextId":0}) //1.先转为json对象,主要有以 ...

  8. Python自动化 【第七篇】:Python基础-面向对象高级语法、异常处理、Scoket开发基础

    本节内容: 1.     面向对象高级语法部分 1.1   静态方法.类方法.属性方法 1.2   类的特殊方法 1.3   反射 2.     异常处理 3.     Socket开发基础 1.   ...

  9. iptables转发

    需求 将流入服务器的公网IP的80端口的流量全部转发到另一个公网IP(1.2.3.4)的80端口上. 操作 iptables -P FORWARD ACCEPT iptables -t nat -A ...

  10. Reactjs 入门基础(二)

    如果我们需要向组件传递参数,可以使用 this.props 对象,实例如下: <body> <div id="example"></div> & ...