Theos实例方法调用

时间:2014-02-08 10:45:48

标签: ios iphone objective-c jailbreak theos

我已经找到了答案,但找不到答案。

我如何调用我在Theos调整中挂钩的同一个类中的实例方法? 如果我使用标准Xcode,我将使用自我方法,即.-

[self method:arg];

但是在一个theos调整中,这说法找不到方法,即使我挂钩那个方法。

示例:

%hook classimhooking

-(void)methodimhooking
{
    [classimhooking methodiwanttocall];
    [self methodiwanttocall];
    %orig;
}

-(void)methodiwanttocall
{
    %orig;
}

%end

methodiwanttocall在那里,我可以挂钩,只是不要打电话。 我已经尝试使用%new添加一个新方法并调用它但是找不到,我已经尝试了相同的延迟,但是找不到它。 我已经尝试定义我的类的变量并调用它但它不起作用。

我还可以看到你可以直接获取iVars,但这不适用于方法。

任何想法都会受到赞赏。

2 个答案:

答案 0 :(得分:2)

如果你想在你刚挂钩的对象上调用一个方法,你可以使用performSelector(或performSelector:withObject:如果它有一个参数),这应该是这样的:

[self performSelector:@selector(methodiwanttocall)];

答案 1 :(得分:0)

抱歉挖掘旧帖。我可能对这个问题有所了解。万一有相同问题的人遇到这个问题。

问题是编译器不知道有这样的方法,即使有。处理它的方法是在代码顶部导入标题。

#import <classimhooking>