当NSTimer处于睡眠状态时,如何在WatchOS 2中播放警报?

当NSTimer处于睡眠状态时,如何在WatchOS 2中播放警报?,timer,nstimer,watchkit,Timer,Nstimer,Watchkit,我正在创建一个专门的计时器,让NSTimer正常工作,在唤醒时更新,等等,但只有当用户的应用程序实际显示在屏幕上时,才能让触觉发挥作用。我意识到没有后台应用程序,但正在研究各种方法来安排警报,就像本机计时器应用程序为其简单计时器所做的那样 NSTimer.ScheduledTimerWithTimeInterval在睡眠时不会触发,查看本地通知(注意,如果可能,此应用程序需要在iPhone不存在的情况下运行,因此不清楚),也许presentAlertControllerWithTitle是一种方

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

NSTimer.ScheduledTimerWithTimeInterval
在睡眠时不会触发,查看本地通知(注意,如果可能,此应用程序需要在iPhone不存在的情况下运行,因此不清楚),也许
presentAlertControllerWithTitle
是一种方法,但不清楚如何安排它


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

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

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

另一方面,watchOS 3通过后台应用程序刷新(BAR)扩展后台功能,如果你是健康与健身或正念应用程序,你可以使用HealthKit启动训练课程,在训练课程处于活动状态时在后台连续跑步

除此之外,实现所需的唯一方法是通过通知。在watchOS 2中,您需要使用WatchConnectivity框架唤醒您的iOS应用程序,并在手机上安排通知(稍后,如果手机已锁定且手表已磨损,则通知将路由至手表)或者在watchOS 3中,您可以通过UserNotifications.framework安排仅在手表上显示的本地通知

有关更多信息,请查看: