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

此文章参考http://blog.sina.com.cn/s/blog_9077079d0102wiy7.html

在使用第三方库库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-arm64

lipo 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_86架构
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_86

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/
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容