不多说了,这里是编译脚本。下载下来这个编译脚本后,修改一下 CFLAGS 选项,添加 -fembed-bitcode ,如下:
细心的话,你设置一下 XCode 的 bitCode 选项的 enable 为 YES 的话,在 sourcetree 里查看批文件的修改也可看到其实修改到的也是这一行。
有几点要注意的:
1、它这个脚本使用的是 0.1.3 的 fdk-aac ,最新版的在这里。fdk-aac-0.1.3 版的源码我放这里了,顺便放了一个已经包含 bitCode libfdk-aac.a 在里面,要的自取。
2、放 fdk-aac 源码的文件夹必须命名为 fdk-aac-0.1.3 ,不然会找不到路径。当然你也可以修改编译脚本。
3、编译脚本 build-fdk-aac.sh 和存放 fdk-aac-0.1.3 源码的文件夹必须是在同一个路径,just like that,
buildAAC ----> build-fdk-aac.sh
fdk-aac-0.1.3 ------> source core
........
........
修改:上面的这个 fdk-aac-0.1.3 最新版源码是不支持 arm64 架构的,所有编译出来的包含 bitcode 的 fdk-aac.a 也是不包含 arm64 架构。我 fork 了一份新的 fdk-aac-master 代码修改了一下编译脚本,现在是可以支持所有架构了,包括 armv7 armv7s i386 x86_64 arm64 这几个,当然也包含 bitCode。
下载下来后,依次运行下面脚本:
./autogen.sh
./build_ios_xcode6.sh
注意:需要先安装automake和libtool
brew install automake
brew install libtool
编译出错的话一般看下出错提示信息就好了。
最后编译完成后可以用命令查看是否包含了 bitcode ,
//查看 .a 是否包含 bitCode
otool -arch armv7 -l xxx.a | grep __bitcode | wc -l
输出结果大于 0 的为包含,否则为不包含!(这个只是查看 armv7 的,查看所有的架构的话去掉 -arch armv7 就好了。)
//查看 .a 文件包含的架构:
lipo -info xxx.a
参考资料:
ffmpeg-compilationGuide (没啥用,看一下就好)