文档章节

增加bitcode支持编译第三方框架

长沙戴维营教育
 长沙戴维营教育
发布于 2015/10/17 10:54
字数 361
阅读 15
收藏 2

iOS 9开始支持bitcode,能够让用户按需安装设备对应的二进制,从而减少占用手机存储空间。Xcode 7默认开启的bitcode的支持(ENABLE_BITCODE = YES)。但是许多第三方框架并没有及时更新,尤其是大量使用的C语言开源代码。它们一般采用Makefile或者CMake编译,对大多数iOS开发者来说简直就是天书。实际上添加bitcode支持非常简单。

1. 安装Xcode 7+,并用`xcode-select`设置为命令行默认的工具链。
sudo xcode-select -s Xcode 7+的安装路径

2. 在Makefile中找到CFLAGS,并增加bitcode的支持。下面以mupdf的Makethird为例。
ZLIB_CFLAGS += -fembed-bitcode

或者 makefile CFLAGS += -fembed-bitcode

CFLAGS只是一个存放编译选项的变量,在不同的Makefile文件中可能名称不一样,可以在Makefile中查找一下,记得写在这个变量赋值之后。这样就给现有的编译选项增加了bitcode支持。

3. 注意

还有一个符号-fembed-bitcode-maker,这个只是标记生成bitcode在打包的二进制代码中的位置的描述信息,而不像-fembed-bitcode一样真正创建bitcode并打包称静态库。

question-ios-library-to-bitcode

http://io.diveinedu.com

http://www.diveinedu.com 长沙戴维营iOS开发培训

http://bbs.diveinedu.com


© 著作权归作者所有

共有 人打赏支持
长沙戴维营教育
粉丝 2
博文 5
码字总数 1368
作品 0
长沙
私信 提问
IOS9.0升级后以及xcode7后引起的问题

一、iOS9 bitcode导致编译不通过的问题 首先来说说bitcode,这到底是什么龟! 在官方文档App Distribution Guide–App Thinning (iOS, watchOS)一节中,有这样一个定义:Bitcode is an inter...

街角d咖啡店
2015/09/24
1K
6
iOS 9 sdk bitcode

今天试着用Xcode 7 beta 3在真机(iOS 8.3)上运行一下我们的工程,结果发现工程编译不过。看了下问题,报的是以下错误: 1 得到的信息是我们引入的一个第三方库不包含bitcode。嗯,不知道bit...

飞翔我的梦想
2015/10/10
93
0
关于ios8以后BitCode一词,关于在xcode7(bate3)中报错的解决以及普及

突然之间,你就会发现,Bitcode什么鬼???这是什么鬼? 在Apple官方文档中提到了这一段 Bitcode is an intermediate representationof a compiled program. Apps you upload to iTunes Co...

MisterXia
2015/12/28
398
0
你的App真正适配了iOS 9吗?

从7月份开始到现在,Apple已发布5个iOS 9的Beta版本,相信开发者在这段时间也已经把iOS 9系统的特性基本了解清楚,也为自己的App进行了一系列兼容适配处理。 但在这里,笔者还是要再次跟大家...

腾讯Bugly
2015/11/26
502
0
深入理解iOS开发中的BitCode功能

前言 做iOS开发的朋友们都知道,目前最新的Xcode7,新建项目默认就打开了bitcode设置.而且大部分开发者都被这个突如其来的bitcode功能给坑过导致项目编译失败,而这些因为bitcode而编译失败的的...

大茶园丁
2016/01/16
1K
9

没有更多内容

加载失败,请刷新页面

加载更多

事务隔离:为什么你改了我还看不见

1 事务就是要保证一组数据库的操作,要么全部成功,要么全部失败。mysql中事务支持是在引擎层实现的。mysql是支持多引擎的 2 隔离性和隔离级别 ACID Atomicity,Consistency,Isolation,Durab...

writeademo
1分钟前
0
0
高性能分布式锁实现方案(非轮询)

随着笔者的颜值日渐提高,笔者所在的公司,产品的用户日益增长。 集群也好,分布式服务也好。当我们不能保证团队成员的整体素质,那么在某些业务上,分布式锁自然没法避免。 公认开发原则:能...

Coody
2分钟前
0
0
Ubuntu18安装docker-ce

1.先更新系统并安装相关依赖包 $ sudo apt update$ sudo apt install apt-transport-https ca-certificates curl software-properties-common 2.新建并编辑etc/apt/sources.list.d/docker......

ykbj
2分钟前
0
0
快捷键设置

文件 =》首选项 =》键盘快捷方式 定义 ctrl+k 快速清屏,不需要重启 { "key": "ctrl+k", "command": "workbench.debug.panel.action.clearReplAction", "when": "inDebugRe......

轻轻的往前走
3分钟前
0
0
2018年AI和ML(NLP、计算机视觉、强化学习)技术总结和2019年趋势(下)

摘要: 回顾2018,展望2019,计算机科学技术继续前进! 4、工具和库 工具和库是数据科学家的基础。我参与了大量关于哪种工具最好的辩论,哪个框架会取代另一个,哪个库是经济计算的缩影等等。...

阿里云官方博客
6分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部