过程
1.将第三方插件的 deb
包解压,得到 xxx.dylib
和 xxx.plist
文件。
2.创建 Tweak
工程。
3.将 xxx.plist
文件中的内容替换我们创建的工程的 plist 文件内容。
4.将 xxx.dylib
拷贝到工程根目录的 layout/Library/MobileSubstrate/DynamicLibraries
目录下(需要自己创建目录),目的是为了安装我们插件的同时,把第三方插件的 dylib 也一起安装到相同目录下。
5.在 %ctor
中使用 dlopen
函数加载第三方插件:
#include <dlfcn.h>
%ctor {
NSString *dlPath = @"/Library/MobileSubstrate/DynamicLibraries/xxx.dylib";
const char *cdlpath = [dlPath UTF8String];
dlopen(cdlpath, RTLD_LAZY);
}
6.然后就是发挥想象力,进行最难的常规操作了。