疑问:在子类中Hook父类的方法,调用 %orig 导致crash

今天在写tweak测试时候发现一个问题:
比如有这两个类:

@interface RootObj: NSObject

  • (void)someMethod;
    @end

@interface ChildObj: RootObj
@end

现在,我在测试时候写了个这样的hook:

%hook ChildObj

  • (void)someMethod {
    NSLog(@“before…”);
    %orig;
    NSLog(@“end”);
    }
    %end

运行时候,看到someMethod有被调用,而且打印出了日志 “before…”,然后程序执行 %orig 就crash了。

补充: 这个crash在6plus上出现,在 5C 上不会出现。 跟CPU架构有关吗? 求指点 :grimacing:

是不是 %orig 不能这样使用来Hook父类的方法?
那么这种情况,大家都会怎么处理呢?