如何模拟applicationWillResignActive
被调用?
锁定屏幕,进入主菜单,模拟电话呼叫 - 似乎都没有帮助。
如果我发现不会发生的事情,让我告诉你更多:我订阅了这条消息,当发生这种情况时,希望通知发送到下面列出的方法:
UIApplication *app = [UIApplication sharedApplication];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(applicationWillResignActive:)
name: UIApplicationWillResignActiveNotification object:app];
答案 0 :(得分:1)
您的代码有效,对我有用。锁定屏幕或点击主页按钮将导致发布此通知。
*(有一点需要注意的是,如果您的设备不支持多任务处理,或者您的Application does not run in background
中的“*info.plist
”属性设置为“是”。在这种情况下,它会直接转到“UIApplicationWillTerminateNotification
”通知)
因此,除非有两种可能性:
1)您的addObserver
代码未被调用,即。这是错误的方法。
试试这个:
UIApplication *app = [UIApplication sharedApplication];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(applicationWillResignActive:)
name:UIApplicationWillResignActiveNotification
object:app];
NSLog(@"Observer added");
2)没有正确调用观察者方法。这需要与at选择器相同的方法。
试试这个:
-(void)applicationWillResignActive:(NSNotification *)notification{
NSLog(@"applicationWillResignActive");
}
NSLog(@"%@", NSStringFromSelector(_cmd));
行放在每个-application...
方法中,并在调用它们时记录它们。这是了解他们的好方法。