1、检测APP、静态库、framework是否支持bitcode
- (a) 静态库:
打开终端,输入一下指令,xxx.a代表你的静态库路径
otool -arch armv7 -l xxx.a | grep __bitcode | wc -l
如果输出的数字不为0,就代表包含bitcode
- (b) 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,
第二步,设置 STRIP_STYLE 为 Debugging Symbols,
第三步,Build Settings -> Compiler Flags添加 -fembed-bitcode 参数
第四步,确认Build Settings -> Enable Bitcode 为YES
上述操作完成之后,重新打一个framework出来(此处不赘述制作framework的方法),通过检测方法去检测,就可以了。