【发布时间】:2009-12-26 18:40:28
【问题描述】:
我正在尝试处理电话和待机之类的事情。我添加了函数
- (void)applicationWillResignActive:(UIApplication *)application
和
- (void)applicationDidBecomeActive:(UIApplication *)application
到我的 UIApplicationDelegate。退出待机状态时,总是会调用“applicationDidBecomeActive”。但是问题是“applicationWillResignActive”永远不会被调用。
我想知道是否有人遇到过这个问题以及是否有人找到了原因。
编辑
更多信息,我发现从 applicationDidFinishLaunching 运行的引擎更新循环导致我错过了消息。我打电话
while(CFRunLoopRunInMode(kCFRunLoopDefaultMode, .002, FALSE) == kCFRunLoopRunHandledSource);
捕获所有 iphone 消息,但它似乎没有在变为非活动状态之前捕获 resignActive 消息。
尝试为我的更新循环派生一个线程会导致奇怪的崩溃错误。有人有什么快速修复的建议吗?
【问题讨论】:
-
根据文档 applicationWillResign active 在弹出覆盖窗口或设备被锁定时被调用。如果你手动锁定 iPhone,你会接到电话吗?
标签: iphone objective-c cocoa-touch