最近想开发一个类似Activator的iOS系统插件,所以研究了一下ios的私有api。
调查了一下文章,发现这方面的文章不多,国内更是不全,高手们都懒得写基础教程哈,我就在此说一下如何调用ios的私有api吧。
首先要使用class-dump 和dumpFrameworks.pl 工具 将ios的framework导出来。
以下是工具的下载地址:
class-dump下载地址 http://www.codethecode.com/projects/class-dump/
DumpFrameworks.pl原来的下载地址不能用了,我在github上的别人的越狱程序里面找到的。
下载地址: https://github.com/shuhongwu/HackSpringDemo/blob/master/DumpFrameworks.pl
将下载好的 class-dump 放入usr/local/bin 下,可以在terminal 下输入 open /usr/local/bin以便打开目录
这个bin文件夹 就是所有命令行的可执行文件所在地,并不一定是这个目录,要看各自的系统。
因为dumpFrameworks.pl中对ios库的版本路径可能不一定正确了,所以要自己手动改正。
用terminal直接执行dumpFrameworks.pl就可以了。
会将所有到处的头文件,放到user/Headers文件夹下。
将想用的头文件,组成xxx.framework/Headers的样式。导入工程。
但是bulidsetting 设置framework的search path 时要设置真实的私有库路径,因为我们要用它的可执行文件,只有头文件是不行的。
例如:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk/System/Library/PrivateFrameworks
这样就可以调用ios的私有库了