美文网首页
iOS 关于静态库 支持设备检测及相关

iOS 关于静态库 支持设备检测及相关

作者: Qo_Tn | 来源:发表于2019-07-05 10:22 被阅读0次

iOS 关于静态库 支持设备检测及相关

1. 检测方法:

lipo -info <静态方法名称.a>


2. 对应 的方法比对:

iphone (模拟器测试、真机测试) | 处理器 (32位,64位)


3. 指令集

arm64: 

真机64位处理器需要arm64架构

iPhone6s | iphone6s plus|iPhone6| iPhone6 plus|iPhone5S | iPad Air| iPad mini2(iPad mini with Retina Display)  及之后的设备

armv7s:

iPhone5|iPhone5C|iPad4(iPad with Retina Display)

armv7:

真机32位处理器需要armv7, 或者armv7s架构,

iPhone4|iPhone4S|iPad|iPad2|iPad3(The New iPad)|iPad mini|iPod Touch 3G|iPod Touch4

 i386 

针对intel通用微处理器32位处理器

模拟器32位处理器测试需要i386架构

x86_64 

针对x86架构的64位处理器

模拟器64位处理器测试需要x86_64架构

注意:⚠️⚠️⚠️⚠️

iphone 5s  比较特殊,需要同时支持 32位 和 64位 ,打包的时候需要包含 armv7s 指令集,不然会影响 部分iphone 5s 设备安装 (安装失败之类)

4. 静态库 合并 方法

 lipo -create XXXX_V7.a XXXX_V7s.a -output XXXX_all.a 

相关问题:

1. 包太大,可以减少指令集(32位 及 模拟器 指令集),但是要注意你需要支持的设备。

2. Build Active Architecture Only  (指定是否只对当前连接设备所支持的指令集编译)

YES:  debug的时候编译速度更快,它只编译当前的architecture版本

NO:  会编译所有的版本

 所以,一般debug的时候可以选择设置为yes,release的时候要改为no,以适应不同设备。

附加,判断是否为模拟器.  可以把只支持真机的 静态库放进去

#if  TARGET_IPHONE_SIMULATOR

#endif

相关文章

网友评论

      本文标题:iOS 关于静态库 支持设备检测及相关

      本文链接:https://www.haomeiwen.com/subject/lexshctx.html