当NSTimer睡着时,如何在WatchOS 2中播放闹钟?

时间:2015-12-30 17:40:18

标签: timer nstimer watchkit

我正在创建一个专门的计时器,让NSTimer工作正常,在唤醒时更新,但只有当用户实际上在显示器上有应用程序时,才能获得触觉。我意识到没有后台应用程序,但是查看各种方法来安排警报,就像本机Timer应用程序为其简单的计时器所做的那样。

SELECT * FROM dbname where dateCol > DATE_SUB(now(), INTERVAL 6 MONTH) GROUP BY name 如果睡着了就会开火,查看本地通知(注意这个应用程序需要在没有iPhone的情况下运行,因此不清楚是否可行)并且可能NSTimer.ScheduledTimerWithTimeInterval是要走的路但不清楚如何安排它。

这似乎是一个简单/典型的问题,但大多数在线计时器教程和我已经完成的搜索忽略了应用程序进入休眠状态或仅处理唤醒事件以适当地重置计时器的事实。

2 个答案:

答案 0 :(得分:0)

使用WatchOS 3.0,您可以使用指定的timeInterval安排UNNotificationRequest,以获得超时的通知。

答案 1 :(得分:0)

在watchOS 2中,您的应用程序将在后台启动的唯一情况是更新并发症时。 watchOS 2不提供任何背景模式。

另一方面,watchOS 3通过后台应用程序刷新(BAR)扩展了后台功能,如果您是健康与健身或正念应用程序,您可以使用HealthKit开始锻炼课程,以便在锻炼时继续在后台运行很活跃。

除此之外,完成所需内容的唯一方法是通过通知。在watchOS 2中,您需要使用WatchConnectivity框架来唤醒您的iOS应用程序并在手机上安排通知(如果手机被锁定并且手表正在佩戴,它将被发送到手表)或者在watchOS 3中可以安排仅通过UserNotifications.framework在手表上显示的本地通知。

有关详情,请查看:

What's New in watchOS 3 (video)

Introduction to Notifications (video)

Watch Connectivity API reference

HKWorkoutSession API

UNNotifications API reference