iOS 解压打包静态库命令

lipo http://www.cnblogs.com/tekkaman/archive/2013/03/01/2939198.html

ar http://www.thegeekstuff.com/2010/08/ar-command-examples/

在引用静态库的时候若想查看静态库的内容,可用以下两个命令 lipo, ar

lipo可以解压出universal binary文件的内容,universal binary文件为包含多个架构的二进制文件

例:  假设 libTest.a 为一个universal binary,执行file libTest.a命令可能发现其中可能包含多种架构:

libTest.a (for architecture armv7): current ar archive random library

libTest.a (for architecture i386): current ar archive random library

libTest.a (for architecture x86_64): current ar archive random library

libTest.a (for architecture arm64): current ar archive random library

或者执行lipo -info libTest.a命令:

Architectures in the fat file: libTest.a are: armv7 i386 x86_64 arm64 

若想将某一个架构的文件取出,假设要取出 x86_64架构的文件,输出文件名为x86_64,可执行

lipo -thin x86_64 libTest.a -output x86_64

此时会得到一个x86_64文件

如果想查看x86_64库中含有哪些文件,可用ar命令

ar -t x86_64

如果想解压出x86_64压缩文件中的内容,可执行

ar -x x86_64

不过解压出的文件都会在当前文件夹中

如果想删除x86_64中的某个文件,假设其中包含一个TalkingData.o文件,我们想将它删除,可执行

ar -d x86_64 TalkingData.o

如果在x86_64中增加某个文件,假设要增加一个TalkingData2.o文件,可执行

ar -r x86_64 TalkingData2.o

将x86_64重新打包成universal binary文件,继续用lipo命令

lipo -create x86_64 -output libTest2.a

lipo命令可以将多个单架构文件打包成universal binary文件

例:有两个单架构文件 x86_64 armv7,如果要把它们打包成一个libTest3.a,可执行

lipo -create x86_64 armv7 -output libTest2.a

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

相关阅读更多精彩内容

友情链接更多精彩内容