2

iOS 指南显然不允许使用后台任务超过10 分钟。我正在设计一个烹饪计时器应用程序,它允许用户设置特定时间并开始倒计时。

但是,似乎不可能设置运行超过 10 分钟的后台任务(例如,使用UILocalNotification或将NSTimer添加到[NSRunLoop mainRunLoop] )。

有解决办法吗?开发人员如何设计触发持续时间超过 10 分钟的计时器的应用程序?

可能的解决方案:

  • A:使用服务器服务并远程运行计时器,一旦计时器完成,就会从服务器推送通知以“警告”用户。缺点:运行服务器成本高,开发时间成本高。
  • B:一旦应用程序启动,让它在前台保持活动状态(不要让屏幕保护程序触发)。缺点:电池贵。

还有其他想法吗?

编辑:我希望该应用程序与 iWatch 一起使用。因此,一旦定时器触发,就会在 iWatch 上显示一目了然的通知。由于这是由 iPhone 应用程序指导的,除非该应用程序处于活动状态,否则我将无法这样做。

4

1 回答 1

3

的文档UILocalNotification说:

UILocalNotification对象指定应用程序可以安排在特定日期和时间呈现的通知。操作系统负责在预定时间传递本地通知;该应用程序不一定要运行才能发生这种情况。

因此,在后台运行应用程序不超过几分钟的限制不适用于通知(因为应用程序不必运行)。

有关详细信息,请参阅本地和远程通知编程指南

于 2015-01-06T12:41:57.517 回答