第一步,新建一个文件夹,用来存放目标静态库的拷贝,如libWeChatSDK.a。
命令行:
新建并切换到目标路径
cd /Users/eric/desktop
&&
mkdir libWeChatSDK
&&
cd libWeChatSDK
拷贝
cp
/Users/eric/desktop/libWeChatSDK.a
./libWeChatSDK.a
第二步,查看包信息
命令行:
lipo -info libWeChatSDK.a
如提示fat file,代表这个包是支持多平台的,需要逐一解包然后重打包。
本例:Architectures in the fat file: libWeChatSDK.a are: i386 armv7 armv7s x86_64 arm64
所以我们需要重复5次一下步骤。
解包、打包步骤:
1、创建临时文件夹,用于存放解压后的.o文件,如i386:mkdir i386
2、取出i386平台的包:lipo libWeChatSDK.a -thin i386 -output i386/ libWeChatSDK-i386.a
3、查看库中所包含的文件列表:cd i386 && ar -t libWeChatSDK-i386.a
4、解压出object file(.o后缀文件):ar xv libWeChatSDK-i386.a
5、找到要删除的包(GCDAsyncSocket.o),删掉:rm GCDAsyncSocket.o
6、重新打包object file:cd .. && ar rcs libWeChatSDK-i386.a i386/*.o,可再次输入[2-5]中的命令检验是否删除成功
7、将其他几个平台包逐一做上述[1-6]操作
8、重新合并为fat file的.a文件:
lipo -create
libWeChatSDK
-armv7.a
libWeChatSDK
-armv7s.a
libWeChatSDK
-i386.a -output
libWeChatSDK
-new.a