判断IOS静态库(.a文件)是否支持模拟器和真机运行
在mac终端下,进入到.a文件目录下,然后输入:
lipo -info /Users/XXX/Desktop/***.a
Architectures in the fat file: libMyAlertView.a are: i386 armv7 x86_64 arm64
说明.a 支持armv7 i386 x86_64 arm64 这些,所以可以放心使用到项目中。
两个静态库合并:
lipo -create 文件1 文件2 -output /Users/XXX/Desktop/***.a
其他扩展
1、iOS 中的 armv7,armv7s,arm64,i386,x86_64 都是什么?
答:iOS测试分为模拟器测试和真机测试,所以模拟器的架构是 i386、x86;真机上的架构是 armv7、arm64。
具体如下:
处理器分为32位处理器,和64位处理器
- 模拟器32位处理器测试需要i386架构(iphone5,iphone5s以下的模拟器)
- 模拟器64位处理器测试需要x86_64架构(iphone6以上的模拟器)
- 真机32位处理器需要armv7,或者armv7s架构(iphone4真机/armv7, ipnone5,iphone5s真机/armv7s)
- 真机64位处理器需要arm64架构(iphone6,iphone6p以上的真机)
2、project -> target -> building setting -> Arhitectures
- 设置debug属性设置为no的时候,会编译支持所有架构的版本,编译的速度会变慢
- 设置为yes 的时候,只编译当前的architecture版本,编译速度快。
- 一般情况下,debug设置为yes,release为no,这样发行版本能适应不同设备。
网友评论