美文网首页
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