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. [Spring MVC] - Annotation验证

    使用Spring MVC的Annotation验证可以直接对view model的简单数据验证,注意,这里是简单的,如果model的数据验证需要有一些比较复杂的业务逻辑性在里头,只是使用annotat ...

  2. angular+bootstrap+MVC--之一,入门

    这篇直奔MVVM主题,本例实现一个bootstrap的下拉框. 展示了如下技术: 1.MVVM绑定(事件绑定,值绑定,循环绑定,循环绑定中嵌套事件并回传item), 2.angul多module, 建 ...

  3. WPF中嵌入普通Win32程序的方法

    公司现在在研发基于.Net中WPF技术的产品,由于要兼容旧有产品,比如一些旧有的Win32程序.第三方的Win32程序等等,还要实现自动登录这些外部Win32程序,因此必须能够将这些程序整合到我们的系 ...

  4. bzoj1837: [CROATIAN2009]cavli 凸包1

    Description 给你N个点,请循环完成下列任务 1:求出这N个点的凸包的面积 2:拿掉最左或最右或最上或最下的一个点,当点的个数不足三个时停止 Input 第一行,一个数字N 接下来N行,每行 ...

  5. Hadoop学习11--Ha集群配置启动

    理论知识: http://www.tuicool.com/articles/jameeqm 这篇文章讲的非常详细了: http://www.tuicool.com/articles/jameeqm 以 ...

  6. (转)原始图像数据和PDF中的图像数据

    比较原始图像数据和PDF中的图像数据,结果见表1.1.表1.1中各种“解码器”的解释见本文后续的“PDF支持的图像格式”部分,“PDF中的图像数据”各栏中的数据来自开源的PdfView.如果您有兴趣查 ...

  7. Selenium

    Selenium可以抓取完整的页面的html但是request 和java的url不能抓的很完整. selenium的方法是dirver.page_source

  8. 常见面试问题 - Useful Links

    1. Data Structure & Algorithm - 二叉树 http://baike.baidu.com/link?url=jKNdOOipbp-gloTVmSU4PT2mVB94 ...

  9. 关于ImageMagick出现无效参数(invalid parameter)的解决方法

    Windows 命令行 运行"convert logo.jpg  f:\parseWord\tmp\logo.png" 时显示 “无效参数(Invalid Parameter)” ...

  10. 常用的SQL分页

    有关分页 SQL 的资料很多,有的使用存储过程,有的使用游标.本人不喜欢使用游标,我觉得它耗资.效率低:使用存储过程是个不错的选择,因为存储过程是经过预编译的,执行效率高,也更灵活.先看看单条 SQL ...