|
framework生成后在项目中调用,连接iPhone6和iPhone 7时可以成功调用,在连接iPhone5时报错,Undefined symbols for architecture armv7:
问题的解决方法:
具体编译库平台说明,其中提到iPhone5编译使用armv7s 平台,平台躺下兼容(armv7兼容armv7s和arm64),比如Architectures配置了armv7和arm64,Build Active Architecture Only 设置为YES,那么连接iPhone4的时候,就会以armv7r打包;连接iPhone5S的时候,就会以arm64打包。如果Build Active Architecture Only设置为NO,那么就会2种架构都打,在运行期根据实际的设置架构来执行。所以最后打出来的Bundle体积会比较大,由于在编译算法库时,一般会连接某一型号手机,当连接iPhone7或iPhone6编译时编译出arm64平台的库,导致在iPhone5真机运行时找不到.0文件的问题,具体解决方案为在生成算法库时,选择Generic iOS Device
- armv7: 对应iPhone4和iPhone4s
- armv7s: 对应iPhone5 和 iPhone5C,还有早期的iPad
- arm64/armv8: 对应iPhone5s和iPhone6以及iPhone7系列,以及比较新的iPad,例如iPad mini2,iPad Air 等
|
|