iOS解压静态库.a文件

先先准备一个静态库.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文件只能看到一些函数而不是源码。如下:


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章