判断IOS静态库(.a文件)是否支持模拟器和真机运行

时间:2022-03-28 04:33:26

判断IOS静态库(.a文件)是否支持模拟器和真机运行

在mac终端下,进入到.a文件目录下,然后输入:

lipo -info libMyAlertView.a

Architectures in the fat file: libMyAlertView.a are: i386 armv7 x86_64 arm64

说明libMyAlertView.a 支持 armv7 i386 x86_64 arm64  这些,所以可以放心使用到项目中。
---------------------

模拟器的架构是 i386 或者 x86的
真机上的架构是 armv7 或者arm64的

iOS 中的 armv7,armv7s,arm64,i386,x86_64 都是什么

iOS测试分为模拟器测试和真机测试,处理器分为32位处理器,和64位处理器,

模拟器32位处理器测试需要i386架构,(iphone5,iphone5s以下的模拟器)

模拟器64位处理器测试需要x86_64架构,(iphone6以上的模拟器)

真机32位处理器需要armv7,或者armv7s架构,(iphone4真机/armv7,      ipnone5,iphone5s真机/armv7s)

真机64位处理器需要arm64架构。(iphone6,iphone6p以上的真机)

project -> target -> building setting -> Arhitectures 设置

debug属性设置为no的时候,会编译支持所有架构的版本,编译的速度会变慢,设置为yes 的时候,只编译当前的architecture版本,编译速度快。

一般情况下,debug 设置为yes,release为no,这样发行版本能适应不同设备。

两个静态库合并:
 lipo -create 文件1  文件2  -output /Users/XXX/Desktop/libPrint.a