2015-12-30 70 views
0

有一個我正在創建的專用計時器,並且NSTimer工作正常,在喚醒時更新等,但只有在用戶在應用程序中實際顯示應用程序時才能獲得觸覺。我意識到沒有後臺應用程序,但是尋找各種方式來安排警報,就像本地Timer應用程序爲其簡單定時器所做的那樣。如果睡着了,看着本地的通知(注意這個應用程序需要在沒有iPhone的情況下運行,所以如果這是可能的如此不清楚),也許presentAlertControllerWithTitle是要走的路,但不清楚如何安排它。如何在NSTimer睡着時在WatchOS 2中播放鬧鐘?

這似乎是一個簡單/典型的問題,但大多數計時器教程在線和我做的搜索忽略了應用程序進入睡眠狀態或僅處理喚醒事件以適當地重置計時器的事實。

回答

0

使用WatchOS 3.0,您可以使用指定的timeInterval來安排UNNotificationRequest以通知超時發生。

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