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

戴维营教育原创文章,转载请注明出处。我们的梦想是做最好的iOS开发培训!

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://v.diveinedu.com

潜心俱乐部(iOS面试必备): http://divein.club