iOS framework如何支持bitcode以及bitcode检测

1、检测APP、静态库、framework是否支持bitcode

(1)静态库:

打开终端,输入一下指令,xxx.a代表你的静态库路径

otool -arch armv7 -l xxx.a | grep __bitcode | wc -l

如果输出的数字不为0,就代表包含bitcode

(2)APP、framework:

framework和APP,只要传递对应的二进制文件即可。由于APP和framework的二进制文件和.a存在一定的差异,因为APP和framework的二进制文件需要检测的是__LLVM端,当该段出现的时候,则判定为支持bitcode,否则不支持。终端指令如下:

otool -l xxxx | grep __LLVM | wc -l 

xxxx为二进制文件的路径。当你是使用lipo指令生成framework,进行拆解和合并之后,需要指定指令集进行检查才可以,终端命令如下:

otool -arch armv7 -l xxxx | grep __LLVM | wc -l

 

2、framework如何支持bitcode:

第一步,DEPLOYMENT_POSTPROCESSING = YES,

iOS framework如何支持bitcode以及bitcode检测_第1张图片

第二步,设置 STRIP_STYLE 为 Debugging Symbols,

iOS framework如何支持bitcode以及bitcode检测_第2张图片

第三步,Build Settings -> Compiler Flags添加 -fembed-bitcode 参数iOS framework如何支持bitcode以及bitcode检测_第3张图片

第四步,确认Build Settings -> Enable Bitcode 为YES

iOS framework如何支持bitcode以及bitcode检测_第4张图片

上述操作完成之后,重新打一个framework出来(此处不赘述制作framework的方法),通过检测方法去检测,就可以了。

 

最后,感谢大佬的耐心阅读,如存在任何问题或阐述错误的地方,请留言,我将及时回复!

你可能感兴趣的:(iOS开发)