我已经参考了这个SO question关于如何检测inactivity
的应用&代码基于answer,这在模拟器中正常工作,但当我在设备中测试相同时出现问题。如果我将NSTimer
interval
设置为60秒(1分钟),那么它工作正常,因为我的iPhone设备timeout
为1分钟。如果我设置了1分钟以上,它会丢失(停止)检测到应用程序的inactivity
。所以我在模拟器中设置了300秒(5分钟),因为它的工作正常。我正在做的是当我发现inactivity
我会弹出到我的应用程序的firstView
。有没有什么方法需要配置,所以即使我的设备锁定它仍然会检测到应用程序中的inactivity
。检测iPhone应用程序的不活动
你可以在这里看到我的代码,InActivityDetectClass.h和InActivityDetectClass.m。在每个UIViewcontroller
我编码像this来检测应用程序的inactivity
。
找不到我在做错的地方。我认为它的一切,当设备锁和应用程序在后台NSTimer
可能会停止工作,但它不是simulator
的情况下,因为没有机会lock
或offscreen
?
模拟器具有锁定(Command-L)和主屏幕(Shift-Command-H)按钮。当您的应用程序处于非活动状态时,runloop未运行,因此计时器不会触发,但计时器将在返回到应用程序后立即触发。我不明白这种行为的哪一部分让你感到困扰。从用户的角度来看,在应用程序再次进入前台之前,在后台启动计时器与让计时器触发是相同的。 – NJones