在iOS应用程序中保持计数器在后台运行

Epi*_*tax 2 background ios

我有一个具有倒计时功能的应用程序(倒数6小时,直到达到0).当用户将应用程序移动到后台时,计数器将停止并仅在应用程序返回前台时恢复.当应用程序终止时,计数器将自行重置.

有什么方法可以让它保持运行无论如何?Apple Clock应用程序在启动秒表时有类似的功能,即使在终止应用程序并重新启动后它仍然可以正常工作.

非常感谢!!

Dar*_*ust 6

由于你在倒计时,你实际上并不想计算滴答,因为那是不可靠的.

相反,请记住开始时间.然后,每次勾选计算自开始时间以来经过的时间.

正如您所知,当应用程序在后台时,计时器会停止.但是,当您知道无关紧要的开始时间时:当您的应用程序重新进入前台时,您只需再次计算经过的时间,如果您所需的时间跨度已经过去,则执行您的操作.

为了在您的应用程序被杀死时使其工作,您需要记住时间NSUserDefaults.下次您的应用程序启动时,您将从中读取日期,NSUserDefaults然后检查时间是否已经过去.如果是这样,请采取行动.如果没有,请启动计时器.

完成操作后,请清除日期NSUserDefaults.

最后但并非最不重要的一点是,您可能还想查看可以安排在特定时间点火的本地通知.当您的应用处于后台或未运行时,您可以使用它们来提醒您的用户.