文档章节

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

长沙戴维营教育
 长沙戴维营教育
发布于 2015/10/17 10:54
字数 361
阅读 12
收藏 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
深入理解iOS开发中的BitCode功能

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

大茶园丁
2016/01/16
1K
9
你的App真正适配了iOS 9吗?

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

腾讯Bugly
2015/11/26
502
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

JS三元运算示例

1. topFlag=topFlag ==0?1:0; 等于 if(topFlag=00){ topFlag=1; }else if(topFlag == 1){ topFlag=0; } 2. 5>3?alert('5大'):alert('3大'); 即 if(5>3){alert('5大')}else{alert('3大')}; 注......

森火
今天
0
0
利用Slf4j的MDC跟踪方法调用链

why? 一个web项目通常提供很多URL访问地址, 项目一般都是分层处理,例如Controller——>Service——>DAO。 如果想根据日志查看用户一次请求都走了哪些方法(多数是查错误)。 如果系统是多人...

杨春炼
今天
7
0
Maven介绍及安装

Maven介绍及安装 以下内容是本人早期学习时的笔记,可能比较详实繁琐,现在复习一下Maven,顺便将内容抛出来,供大家一起学习进步。 一、Maven简介 Maven是Apache旗下的一款项目管理工具,是...

星汉
今天
0
0
小程序Aes解密

主要步骤: 1、下载AES源码(JS版) 2、在小程序中新建一个公共的文件夹,把AES源码拷贝进去(注意:需要暴露接口 module.exports = CryptoJS;) 3、添加一个用于加密解密的公共JS,可取名为...

Mr_Tea伯奕
今天
0
0
Go实现文件传输(基本传输可用)

发送端 package mainimport ("fmt""os""net""io")func SendFile(path string, connect net.Conn){file, oerr :=os.Open(path)if oerr !=nil{fmt.Println("Open", oerr)......

CHONGCHEN
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部