美文网首页
iOS 解压打包静态库命令

iOS 解压打包静态库命令

作者: aven_kang | 来源:发表于2021-02-23 15:21 被阅读0次

    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

    相关文章

      网友评论

          本文标题:iOS 解压打包静态库命令

          本文链接:https://www.haomeiwen.com/subject/alsxfltx.html