我参照书上的例子,写了一个检测手机号是否适用于iMessager的tweak,安装成功,使用cycript 测试成功,现在我想写一个APP,在APP里面调用tweak里面为iMessager 增加的函数,尝试着使用dlopen 加载动态链接库,然后使用dlsym来查询函数地址,但是每次都遇到 EXC_BAD_ACCESS 的错误,打开动态链接库是正常的,可以获取对应的handle。
代码如下:
-(void)CheckNumberAvailableForMessager:(NSString*) number{
void *lib = dlopen(TWEAKPATH, RTLD_LAZY);
int result ;
if (lib) {
NSLog(@"打开成功");
int (*madridStatusForAddress)(NSString*) = dlsym(lib, "madridStatusForAddress");
result = (int)madridStatusForAddress(@"15223476789");
NSLog(@"result is %d",result);
dlclose(lib);
}
}