iOS framework分离与合并 删除SDK中的i386,x86_86架构

在使用第三方库库Framework或者其它的第三方的时候,库的开发人员可能为了方便打包与发行,常常将i386,x86_64,armv7,arm64多种模式混合起来一起打包,而我们在app提交的时候更本用不到i386和x86_64俩种架构,所以让我们要把它分离出来

解决方法是一种迂回的方式,先分离再合并

首先我们查一下我们的第三方框架都包含多少种CPU架构

lipo -info xxx.framework/xxxxFramework

然后分离你想要的架构

lipo XXXX.framework/XXXX -thin arm64 -output XXXX.framework/XXXX-arm64lipo XXXX.framework/XXXX -thin armv7 -output XXXX.framework/XXXX-armv7

然后合并架构

lipo -create XXXX.framework/XXXX-armv7 XXXX.framework/XXXX-arm64 -output XXXX.framework/XXXX

第二种方法

删除SDK中的i386,x86_64架构

1.使用终端进入到SDK内部

cd /Users/leo/Desktop/testDir/NIMSDK.framework

2.查看当前支持的架构

lipo -info NIMSDK

可以看到NIMSDK当前支持的架构:

Architectures in the fat file: NIMSDK are: i386 x86_64 armv7 arm64

3.删掉i386,x86_64

lipo -remove i386 NIMSDK -o NIMSDK

lipo -remove x86_64 NIMSDK -o NIMSDK

以上是删除架构方法, 也可以取出架构重新组建, 以下方法(未测试)

mkdir ./bak

mkdir ./bak

cp -r Flutter.framework ./bak

lipo Flutter.framework/Flutter -thin armv7 -output Flutter_armv7

lipo Flutter.framework/Flutter -thin arm64 -output Flutter_arm64

lipo -create Flutter_armv7 Flutter_arm64 -output Flutter

mv Flutter Flutter.framew ork/

原文链接:iOS framework分离与合并 删除SDK中的i386,x86_86架构 -

你可能感兴趣的:(iOS framework分离与合并 删除SDK中的i386,x86_86架构)