如何让一个hook方法下新建的Button执行方法

作为小白,也不知道问题描述的清楚不~请看以下代码:
%hook SBMainScreenAlertWindowViewController

  • (void)viewDidLoad
    {
    %orig;
    UIWindow *keyWindow = [[UIApplication sharedApplication] keyWindow];
    UIButton *returnAppBtn = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, keyWindow.frame.size.width, 44)];
    returnAppBtn.backgroundColor = [UIColor greenColor];
    returnAppBtn.alpha = 0.5;
    [returnAppBtn addTarget:self action:@selector(returnApp) forControlEvents:UIControlEventTouchUpInside];
    [keyWindow addSubview:returnAppBtn];
    NSLog(@“iOSRE:test log”);

}

%new

  • (void)returnApp
    {
    NSLog(@“iOSRE:test Action”);
    }

%end
为什么点击Button后returnApp这个方法不能执行呢? %new不是新建方法么?
grep iOSRE: syslog 没有iOSRE:test Action啊!

头文件里没加这个新函数的声明把。

函数不是不要传个参数

不用再头文件里加新函数我改成弹出框以后每次都能执行估计日志文件可能不是实时更新吧~~

%new 加的函数一定要在头文件里声明才会生效。

嗯,我知道,那个是self调用的方法。但是这个Button或者手势添加的Action方法真不用~~,我已经试过了~~

估计只是日志的问题吧,看看device里面的log