如何hook AppDelegate中没有实现的方法?

比如我想hook代理方法:- (void)applicationDidBecomeActive:(UIApplication *)application

但是这个方法app没有使用,所以hook不到,那我应该怎么才能调用这个方法呢?

我使用%new但是没作用,毕竟这个是用新的方法,但是这个是系统的代理方法,还有什么方式可以让没启用的代理方法启用呢?

1 个赞

可以监听通知 UIApplicationDidBecomeActiveNotification

1 个赞

我后面就直接监听了,就不纠结他有没有调用代理方法了

// app启动或者app从后台进入前台都会调用这个方法
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(applicationBecomeActive)
name:UIApplicationDidBecomeActiveNotification object:nil];
// app从后台进入前台都会调用这个方法
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(applicationBecomeActive)
name:UIApplicationWillEnterForegroundNotification object:nil];
// 添加检测app进入后台的观察者
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(applicationEnterBackground) name:
UIApplicationDidEnterBackgroundNotification object:nil];
1 个赞