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. MyBatis学习总结(七)——Mybatis缓存

    一.MyBatis缓存介绍 正如大多数持久层框架一样,MyBatis 同样提供了一级缓存和二级缓存的支持 一级缓存: 基于PerpetualCache 的 HashMap本地缓存,其存储作用域为 Se ...

  2. linux下的vim使用教程

    命令历史 以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令. 启动vim 在命令行窗口中输入以下命令即可 vim 直接启动vim vim filename 打开vim ...

  3. HttpRequest.UserAgent 属性 (System.Web)

    获取客户端浏览器的原始用户代理信息.

  4. 如何用pdb进行python调试

    本文章讲述了如何用pdb进行python调试讲解. 当手边 没有IDE,面对着python调试犯愁时,你就可以参考下本文;(pdb 命令调试) 参 考:http://docs.python.org/l ...

  5. MyBatis环境配置

    <settings> <!-- 使全局的映射器启用或禁用缓存. --> <setting name="cacheEnabled" value=&quo ...

  6. .bashrc文件是干什么的(转)

    使用man bash命令查看到的联机帮助文件中的相关解释如下:.bashrc - The individual per-interactive-shell startup file. 这个文件主要保存 ...

  7. CSS中的相对定位和绝对定位

    1.元素的position属性的值默认为static 就是没有定位,元素出现在正常的文档流中,,这个时候你给这个元素设置的left,right,bottom,top这些偏移属性都是没有效果的, 使用相 ...

  8. 3,SFDC 管理员篇 - 区域划分

    1,销售区域划分 Setup | Administrator | Manage Territory Territory Type : 帮助用户建立大的销售区域分类,分类顺序按照Priority进行显示 ...

  9. Web SQL Database实例

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. oracle client与ODAC的字符集

    1.pl/sql developer 9里检查客户端字符集与服务端是否一致 首选项,选项,检查客户机与服务器字符集是否匹配 2.Windows环境变量的修改即时生效 3.ODAC12安装后字符集的变化 ...