我一直在寻找答案,却找不到答案。
我如何在我的Theos调整的同一个类中调用一个实例方法?如果我使用的是标准的Xcode,我会使用self方法,即-
[self method:arg];但是在theos的调整中,这说明找不到方法,即使我钩住了那个方法。
示例:
%hook classimhooking
-(void)methodimhooking
{
[classimhooking methodiwanttocall];
[self methodiwanttocall];
%orig;
}
-(void)methodiwanttocall
{
%orig;
}
%endmethodiwanttocall在那里,我可以连接到它,只是不叫它。我尝试用%new添加一个新方法,并调用它,但是没有找到它,我也尝试过延迟,但是没有找到它。我尝试过定义类中的变量并调用它,但是它不起作用。
我还可以看到,您可以直接抓取iVars,但是方法不起作用。
任何想法都将不胜感激。
发布于 2014-02-08 22:05:46
如果您想对刚钩住的对象调用一个方法,可以使用performSelector (如果它有参数的话也可以使用performSelector:withObject: ),这应该是这样的:
[self performSelector:@selector(methodiwanttocall)];发布于 2016-05-22 05:30:36
很抱歉挖了根旧线。我可能对这件事有个想法。万一有同样问题的人遇到这种情况。
问题是编译器不知道有这样的方法,即使有。处理它的方法是在代码顶部导入标题。
#import <classimhooking>https://stackoverflow.com/questions/21645020
复制相似问题