应用程序打开时在 watchOS 上检测新的一天
Detect New Day on watchOS While App Is Open
我目前正在开发我的第一个 watchOS 应用程序扩展,它基于 Xcode 的多平台模板。我正在寻找一种解决方案,让我能够在手表应用程序打开时检测到重大的日期变化,例如观察午夜。但是,我一直找不到这样的解决方案。如果可能,我想避免使用 Timer
s。
我能够观察到 UIApplication.significantTimeChangeNotification
(iOS) and Notification.Name.NSCalendarDayChanged
(macOS), but I've not found a similar notification for watchOS. What I did find in the documentation for WKExtension
是类似于 iOS 应用程序生命周期通知的通知。
我想要的是在 watchOS 应用程序打开并观察到新的一天时更新 UI,这 UIApplication.significantTimeChangeNotification
让我进入 iOS。当应用程序在手表上打开时,手表应用程序是否可以观察日期变化?
您也可以在 watchOS 上使用 .NSCalendarDayChanged
:
NotificationCenter.default.addObserver(
self,
selector: #selector(dayChanged(_:)),
name: .NSCalendarDayChanged,
object: nil
)
我目前正在开发我的第一个 watchOS 应用程序扩展,它基于 Xcode 的多平台模板。我正在寻找一种解决方案,让我能够在手表应用程序打开时检测到重大的日期变化,例如观察午夜。但是,我一直找不到这样的解决方案。如果可能,我想避免使用 Timer
s。
我能够观察到 UIApplication.significantTimeChangeNotification
(iOS) and Notification.Name.NSCalendarDayChanged
(macOS), but I've not found a similar notification for watchOS. What I did find in the documentation for WKExtension
是类似于 iOS 应用程序生命周期通知的通知。
我想要的是在 watchOS 应用程序打开并观察到新的一天时更新 UI,这 UIApplication.significantTimeChangeNotification
让我进入 iOS。当应用程序在手表上打开时,手表应用程序是否可以观察日期变化?
您也可以在 watchOS 上使用 .NSCalendarDayChanged
:
NotificationCenter.default.addObserver(
self,
selector: #selector(dayChanged(_:)),
name: .NSCalendarDayChanged,
object: nil
)