文档章节

增加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
114
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
426
0
你的App真正适配了iOS 9吗?

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

腾讯Bugly
2015/11/26
516
0
iOS12、iOS11、iOS10、iOS9常见适配

一、iOS12(Xcode10) 1.1、升级Xcode10后项目报错 不允许多个info.plist Xcode10是默认选中的最新的New Build System(Default),在这个编译系统的环境下,不允许多个info.plist 解决办法一:...

walking_yxf
02/11
42
0

没有更多内容

加载失败,请刷新页面

加载更多

架构师的十大学习步骤

架构师有十大步第一步: 学习两种抽象视角 (Abstraction View) 架构师的第二步: 关心下层的变动自由度 ( 没钱就改版,改版就有钱 ) 架构师的第三步: < 系统架构控制力 > 支撑 < 商业竞争话...

请叫我小可爱呀
3分钟前
1
0
node处理静态模板无法自动引入问题

本文是在参考张鑫旭大神的文章所写,对其进行了一些优化,在原文中只对入口文件 import/import-example.html做了监控,当footer.html发生改变时,最终文件并不会发生变化,此时需要对import/...

litCabbage
3分钟前
1
0
关于PHP的命名空间

这篇文章介绍的内容是关于PHP的命名空间 ,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 什么是PHP命名空间 PHP手册:从广义上来说,命名空间是一种封装事物的方法。在很多...

chenhongjiang
5分钟前
1
0
sync.Once 多次调用一次执行

demo package mainimport ("fmt""sync")func main() {var once sync.OnceonceFunc := func() {fmt.Println("this func do once")}done := make(chan bo......

李琼涛
5分钟前
1
0
AliOS Things 3.0应用笔记:http client简单应用

简介 AliOS Things 3.0版本于9月27日在云栖大会正式发布,在新版本中带来了全新的应用开发框架,帮助用户快速构建自己的应用。使用户可以更专注于自身应用的开发。 AliOS Things 3.0版本新增...

阿里云官方博客
13分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部