iOS .a类型静态库使用终端进行拆解和合并生成

本文介绍了在iOS项目中处理第三方静态库冲突的方法,包括删除重复文件、按框架拆分和合并库,以及使用`lipo`工具的具体步骤。

  项目中会用到许多第三方的.a类型的静态库,有时候会有一些静态库回包含相同文件而产生冲突,我们就需要对这个库进行去重的一个操作。一般有哪些文件冲突了,xcode报错都会有详细的提示。我们可以将这两个库合并,也可以其中一方中的文件删除。我们已拆分一个test.a为例,作一个简单的总结:
        一、删除重复文件
        第一步:首先要确定你所操作的静态库支持的框架

lipo -info test.a 

        第二步:将静态库按照支持的框架拆分

以拆分armv7 框架为例
lipo -extract_family armv7 -output test_armv7.a  test.a 
这时候去文件夹下查看出现一个test_armv7.a的静态库就说明是成功了
这时候一定要记得确定(lipo -info test_armv7.a )一下你拆分出来的版本是否是你想要的这个框架下的

        第三步:删除重复的文件,记得是删除你分离出来的单框架库中的文件

ar -d test_armv7.a test1.o

        第四步:将静态库支持的框架都进行第二步和第三步操作。
        第五步:将操作完成的库合并成新的库

lipo -create -output test_new.a  test_
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值