美文网首页
iOS解压静态库.a文件

iOS解压静态库.a文件

作者: coder_小玖 | 来源:发表于2017-11-21 17:49 被阅读69次

    先先准备一个静态库.a文件,比如叫libWeiboSDK.a,放在桌面的test目录里。

    1、首先进入到libWeiboSDK.a文件夹 file一下libWeiboSDK.a,看一下该文件包含几种arch。

        执行: cd /Users/dotnar/Desktop/Test

                    file    libWeiboSDK.a

        打印:

    libWeiboSDK.a: Mach-O universal binary with 4 architectures: [arm_v7:current ar archive] [x86_64]

    libWeiboSDK.a (for architecture armv7):current ar archive

    libWeiboSDK.a (for architecture arm64):current ar archive

    libWeiboSDK.a (for architecture i386):current ar archive

    libWeiboSDK.a (for architecture x86_64):current ar archive

    可以看到该文件包含四种arch,分别是armv7、arm64、i386、x86_64

    2、抽离其中一个arch ,由于下面抽离object的时候必须是要单一的库,所以这里我们之抽出armv7并命名为armv7.a:

    执行:lipo libWeiboSDK.a -thin armv7 -output armv7.a

    这时候应该在test目录下多了一个v7.a文件。

    3、抽离.a文件的object

    执行:ar -x armv7.a

    你会发现在test目录下多了很多.o文件

    4、转换.o文件 (如下的NSData+WBSDKBase64.o文件)

    执行:nm NSData+WBSDKBase64.o> NSData+WBSDKBase64.m

    此时你会发现生成了一个NSData+WBSDKBase64.m

    到此就解压完成,不过此时的.m文件只能看到一些函数而不是源码。如下:

    相关文章

      网友评论

          本文标题:iOS解压静态库.a文件

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