iOS 静态库, 动态库架构分析操作

发版App Store项目里使用的framework是不允许包含模拟器架构的,下边我们以xxxSDK.framework为例说下如何拆分模拟器器架构(x86_64)

一、iOS 架构划分:

模拟器

4s-5:i386
5s-6s Plus:x86_64

真机(iOS设备)

  • armv6:
iPhone
iPhone 2
iPhone 3G
iPod Touch(第一代)
iPod Touch(第二代)
  • armv7
iPhone 3Gs
iPhone 4
iPhone 4s
iPad
iPad 2
  • armv7s
iPhone 5
iPhone 5c 【静态库只要支持了armv7,就可以在armv7s的架构上运行】
  • arm64:
iPhone 5s
iPhone 6
iPhone 6 Plus
iPhone 6s
iPhone 6s Plus
iPad Air
iPad Air2
iPad mini2
iPad mini3

二、查看架构

lipo -info xxx

打印如下:

edz@edzdemac ImSDK.framework % lipo -info ImSDK
Architectures in the fat file: ImSDK are: armv7 x86_64 arm64
edz@edzdemac ImSDK.framework %

说明包含: armv7 x86_64 arm64 三个架构

三、分离架构

终端输入命令,分别生成对应架构包

lipo ImSDK -thin arm64 -output ImSDK-arm64
lipo ImSDK -thin armv7 -output ImSDK-armv7
lipo ImSDK -thin x86_64 -output ImSDK-x86_64

生成对应的ImSDK-arm64、ImSDK-armv7、ImSDK-x86_64

四、合并架构

将需要的架构合并

lipo -create ImSDK-arm64 ImSDK-armv7 -output abc/ImSDK

最后成成新的ImSDK二进制文件

你可能感兴趣的:(iOS 静态库, 动态库架构分析操作)