class-dump + dumpFrameworks 获取iOS9.3私有、公有API

目标:获取iOS9.3的私有和公有API

一. 使用class-dump+DumpFramework.pl

  1. class-dump (git源码下载地址)

    注意:一定要使用源码,官网的class-dump在xcode7之后无法获取私有和公有API会报错
    Input file (/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9.2.sdk/System/Library/PrivateFrameworks/ChatKit.framework) doesn't contain an executable.

  2. 使用xCode运行class-dump,编译成功后在products中show in finder


    class-dump + dumpFrameworks 获取iOS9.3私有、公有API_第1张图片
    图一.png
  3. 将class-dump拷贝到

    /usr/local/bin   
    

    3.1 打开/usr/local/bin目录

    open -a Finder /usr/local/bin/
    
  4. 设置class-dump的权限

    $ chmod 777 /usr/local/bin/class-dump
    
  5. 下载DumpFramewor.pl 放在任意目录,并设置权限
    $ chmod 777 /Users/wuyang/Desktop/class-dump/DumpFrameworks.pl

  6. 打开DumpFramework.pl文件,把下面的地址改成自己模拟器的地址

     dump_frameworks('/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/Frameworks',
     'Frameworks');
     dump_frameworks('/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/PrivateFrameworks',
     'PrivateFrameworks');
    

    注意:'Frameworks'、'PrivateFrameworks'一定要换行。这里导出的是模拟器的API,因为class-dump 作用的对象必须是未经过加密的可执行文件,而从 app store 下载的 app 都是经过签名加密的,所以两个iPhoneSimulator.platform地方不能换成iPhoneOS.platform.

  7. cd 到DumpFramework.pl的路径,执行

     $ ./DumpFramework.pl
    

    至此,公有和私有的头文件已导出到

     ~/user/Headers
    

    中,commend+shift+h 查看Headers文件夹

class-dump + dumpFrameworks 获取iOS9.3私有、公有API_第2张图片
publicapi+privateapi.png

二. 去大神的github下载

你可能感兴趣的:(class-dump + dumpFrameworks 获取iOS9.3私有、公有API)