2016-03-08 50 views
0

假设应用程序在前台,用户不会与应用程序交互5分钟,应用程序应该给予警报。 假设应用程序在后台,并保持在后台超过5分钟应用程序应该在应用程序进入前台时立即发出警报。如何给iOS中的活动提醒swift?

有没有什么标准的方法来做到这一点?

+0

考虑下面的链接用户不活动:http://stackoverflow.com/questions/27621049/how-do-i-detect-user-inactivity-in-swift和在func applicationDidEnterBackground()你可以检查你的条件。 –

+0

@BhagyalaxmiPoojary该链接的答案并不清晰具体,有没有其他明确的方法? – 2016-03-08 06:57:05

+0

检查此 - http://stackoverflow.com/questions/26001574/how-to-detect-user-inactivity-since-last-touch-on-a-particular-viewcontroller-in –

回答

0

对于背景部分,基本上你想要一个Counter。这Counter应该做

  • 观察UIApplicationWillResignActiveNotification通知。并记录选择器被调用的时间。我们假设它是lastActiveTime
  • 观察UIApplicationDidBecomeActiveNotification通知。在选择器内部,将当前时间与lastActiveTime进行比较。如果超过5分钟,您将弹出警报。

对于前景,您可以使用一些假设,例如,如果最顶级的视图控制器是相同的,假设用户没有与应用程序交互。你可以有一个定时器,不断检查最顶级的视图控制器。

+0

如何比较NStimer和Int? – sss

+0

@sss您将存储'NSDate'并使用'compare'方法比较两个'NSDate' –