iOS.AppThinning-iOS9-new-feature-for-app-thinning-bitcode-odr-slicing
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
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的更多相关文章
- iOS9 App Thinning(应用瘦身)功能介绍
iOS9 发布后,产生了一个使 App Thinning 无法正常运行的 bug.在iOS9.0.2 版本中,这个 bug 已经被修复,App Thinning 已经可以正常使用.当你从应用商店(Ap ...
- App Thinning
App Thinning 由于项目中需要开启Bitcode编译,之前对Bitcode也有些误区,故整理了下相关知识,仅供参考,如有不对,还请指出. 当前 iOS App 的编译打包方式是把适配兼容多个 ...
- 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 ...
- ios9 升级后 企业版app plist无法安装
昨天apple推送了ios9, 公司的一些app是企业版的,平常通过 item-service 结果更改如下 plist可以了 itms-services://?action=download-man ...
- “快的打车”创始人陈伟星的新项目招人啦,高薪急招Java服务端/Android/Ios 客户端研发工程师/ mysql DBA/ app市场推广专家,欢迎大家加入我们的团队! - V2EX
"快的打车"创始人陈伟星的新项目招人啦,高薪急招Java服务端/Android/Ios 客户端研发工程师/ mysql DBA/ app市场推广专家,欢迎大家加入我们的团队! - ...
- (Android+IOS)我们正在做一个新闻App,做几乎一样的,倾听您的建议 (画画)
(Android+IOS)我们正在做一个新闻App,做几乎一样的,倾听您的建议! 新闻采访是做,前端展示APP界面感觉还不是非常好,还须要改进改进,希望公布(Android和IOS版本号)前听听大家的 ...
- ios下微信浏览器如何唤醒app?app已上架应用宝
android下可以通过在应用宝微下载地址后面加参数&android_schema='应用schema'来实现,ios下如何实现? ios下微信浏览器如何唤醒app?app已上架应用宝 > ...
- 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 ...
- iOS 适配iOS9
1.网络接口不支持https协议,在iOS9下 在iOS9下,系统默认会拦截对http协议接口的访问,因此无法获取http协议接口的数据. 解决方案(以下方法2选1): (1)暂时退回到http协议 ...
- 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 ...
随机推荐
- [Hibernate] - Generic Dao
使用泛型写了一个通用的Hibernate DAO类. GenericDao接口 package com.my.dao; import java.io.Serializable; import java ...
- Null modem接线
1.6 <-> 4 2 <-> 3 3 <-> 2 4 <-> 1.6 5 <-> 5 7 <-> 8 8 <-> ...
- python---pymysql
pymysql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同.2.7用MySQLdb,3.0用pymysql. #下载安装 pip3 install pymysql 使用 执 ...
- 使用 7za.exe 打包文件
7za.exe 下载地址:http://www.7-zip.org/a/7za920.zip 7za <command> [<switch>...] <base_arch ...
- TMS320C54x系列DSP指令和编程指南——第1章 汇编语言工具概述
第1章 汇编语言工具概述 TMS320C54x DSP的汇编语言开发工具包括: ■ Assembler ■ Archiver ■ Linker ■ Absolut ...
- jQuery MiniUI 开发指南+API组件参考手册
jQuery MiniUI 开发指南 本文档将逐步的讲解jQuery MiniUI的方方面面,从此您将踏上jQuery MiniUI的深入探索之旅. 1.Hello M ...
- Oracle中的表构造导出到word Sql语句
select * from ( SELECT t1.Table_Name AS "表名称", t3.comments AS "表说明", t1.Column_ ...
- Linux下如何修改ip地址
在Linux的系统下如何才能修改IP信息 以前总是用ifconfig修改,重启后总是得重做.如果修改配置文件,就不用那么麻烦了- A.修改ip地址 即时生效: # ifconfig eth0 192. ...
- VS2010+VMWare8+VisualDDK1.5.6 创建并调试你的第一个驱动程序 - 完全教程
本文描述了如何使用Visual Studio+VMMare+VisualDDK来创建.编译和调试你的第一个驱动程序.本文提供在开发和调试工具的环境下详细的操作步骤,而无需太多的关心这些环境背后所做的事 ...
- Visual Studio 中可执行文件中嵌入的清单文件
概要 本分步指南介绍如何在 Microsoft Visual Studio 2005年中的可执行文件 (.exe) 文件中嵌入的清单文件.如果您要开发"认证 Windows Vista&qu ...