2012-10-12 23 views
0

我已经参考了这个SO question关于如何检测inactivity的应用&代码基于answer,这在模拟器中正常工作,但当我在设备中测试相同时出现问题。如果我将NSTimerinterval设置为60秒(1分钟),那么它工作正常,因为我的iPhone设备timeout为1分钟。如果我设置了1分钟以上,它会丢失(停止)检测到应用程序的inactivity。所以我在模拟器中设置了300秒(5分钟),因为它的工作正常。我正在做的是当我发现inactivity我会弹出到我的应用程序的firstView。有没有什么方法需要配置,所以即使我的设备锁定它仍然会检测到应用程序中的inactivity检测iPhone应用程序的不活动

你可以在这里看到我的代码,InActivityDetectClass.hInActivityDetectClass.m。在每个UIViewcontroller我编码像this来检测应用程序的inactivity

找不到我在做错的地方。我认为它的一切,当设备锁和应用程序在后台NSTimer可能会停止工作,但它不是simulator的情况下,因为没有机会lockoffscreen

+1

模拟器具有锁定(Command-L)和主屏幕(Shift-Command-H)按钮。当您的应用程序处于非活动状态时,runloop未运行,因此计时器不会触发,但计时器将在返回到应用程序后立即触发。我不明白这种行为的哪一部分让你感到困扰。从用户的角度来看,在应用程序再次进入前台之前,在后台启动计时器与让计时器触发是相同的。 – NJones

回答

3

最后,我找到了这个[UIApplication sharedApplication].idleTimerDisabled; 并将其设置为YES(默认NO)。它使我的应用程序永远在&从不锁定。所以我想得到的功能。

相关问题