我已经从这个关于如何根据答案检测应用程序和代码inactivity
的SO问题中获取了参考,这在模拟器中工作正常,但是当我在设备中测试时出现问题。如果我将NSTimer
interval
设置为 60 秒(1 分钟),它可以正常工作,因为我的 iPhone 设备timeout
为 1 分钟。如果我设置超过 1 分钟,它会丢失(停止)检测 App 的inactivity
。所以我在模拟器中将 300 秒(5 分钟)设置为工作正常。我正在做的是,当我找到inactivity
时,我会弹出我的应用程序firstView
。有什么方法需要配置,这样即使我的设备锁定了,它仍然会在应用程序中检测到inactivity
。
你可以在这里看到我的代码,InActivityDetectClass.h和InActivityDetectClass.m。在每个UIViewcontroller
中,我都有这样的代码来检测应用程序inactivity
。
找不到我做错的地方。我认为这一切都是关于,当设备锁定和应用程序进入后台时,NSTimer
可能会停止工作,但simulator
并非如此,因为没有lock
或offscreen
的机会?
最后,我找到了这个[UIApplication sharedApplication].idleTimerDisabled;
并将其设置为 YES
(默认NO
)。它使我的应用程序始终打开并且永远不会锁定。所以我想要的功能我得到了。