该静态库不支持arm64.
##armv6
iPhone、iPhone 3G
iPod 1G、iPod 2G
##armv7
iPhone 3GS、iPhone 4
iPod 3G、iPod 4G、iPod 5G
iPad、iPad 2、iPad 3、iPad Mini
##armv7s
iPhone 5、iPhone 5C
iPad 4
##arm64
iPhone 5S iPhone 6 iPhone 6Plus
iPad Air, Retina iPad Mini
Architectures
该编译选项指定了工程将被编译成支持哪些指令集,支持指令集是通过编译生成对应的二进制数据包实现的,如果支持的指令集数目有多个,就会编译出包含多个指令集代码的数据包,造成最终编译的包很大。
指令集是向下兼容的。比如,armv7s指令集的设备,可以兼容运行使用armv7、armv6编译的程序。
错误分析:
打包以后的库文件,我们查看信息
然后打入如下命令:lipo -info .a文件完整路径
这个静态库只支持x86_64(x86的库是在模拟器上跑的) . 我的工程中Valid Architectures和Architectures中均包含了arm64的指令集,这就是说明我需要编译的app最终要支持arm64的,而程序中用到的静态库并没有arm64,导致了出错.
网友评论