iOS 终端查看framework和.a的支持架构

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS 终端查看framework和.a的支持架构相关的知识,希望对你有一定的参考价值。

参考技术A Undefined symbols for architecture x86_64

说明第三方可能不支持模拟器运行的cpu架构:Undefined symbols for architecture x86_64,这时候打开终端查看一下这个framework支持的到底有哪些架构?

lipo -info /Users/路径/Desktop/xxxx.framework/xxxx

lipo -info  xxxx.a

例:lipo -info /Users/qing/Desktop/HelloSDK.framework/HelloSDK

2.总结iPhone真机和模拟器的CPU架构

iPhone真机CPU架构:

arm64: iPhone 5s, iPhone 6(Plus), iPhone 6s(Plus), iPhone SE, iPhone 7(Plus), iPad Air(2), Retina iPad Mini(2,3)……

armv7s: iPhone 5, iPhone 5c, iPad 4 

armv7: iPhone 3GS, iPhone 4, iPhone 4S, iPod 3G/4G/5G, iPad, iPad 2, iPad 3, iPad Mini

armv6: iPhone, iPhone 3G, iPod 1G/2G

iPhone模拟器CPU架构:

模拟器32位处理器测试需要i386架构,iPhone5及之前设置:i386

模拟器64位处理器测试需要x86_64架构,iPhone5s及之后设备

lipo操作

  • 查看支持的架构列表

    lipo -info xxx.framework/xxx
    lipo -detailed_info xxx.framework/xxx
  • 移除指定架构

    lipo -remove x86_64 xxx.framework/xxx -output xxx.framework/xxx 移除x86_64架构
  • 静态库拆分
    lipo 静态库源文件路径 -thin 架构名称 -output 拆分后存放路径
    lipo xxx.a -thin armv7 -output xxx-armv7.a
  • 合并
    lipo -create 静态库存放路径1  静态库存放路径2 ...  -output 整合后存放的路径
    lipo -create xxx.a yyy.a zzz.a -output nnn.a 

以上是关于iOS 终端查看framework和.a的支持架构的主要内容,如果未能解决你的问题,请参考以下文章

IOS 查看.framework以及.a的库文件支持的架构

iOS真机和模拟器CPU架构

iOS13 xcode11打包不支持模拟器架构i386 x86_64

ios framework 分离与合并多种CPU架构,分离与合并模拟器与真机

嵌入式 dylibs/frameworks 仅支持 iOS 8.0 及更高版本的架构 armv7

查看.a文件支持的iOS版本