未佩戴手表时,Apple Watch 本地通知不起作用

Apple watch local notification not working when the watch isn't worn

我们正在使用 WatchOS 3.0 提供的 UNUserNotification 框架来创建本地通知以在预定义的时刻通知用户。但是,当手表未佩戴在手腕上时,不会显示通知。当有人戴着它时,它确实能很好地工作。

我们在任何文档中都找不到此描述。那是正常的吗?如果是,如何帮助用户避免错过一些通知?

UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .sound, .badge]) { (granted, error) in
            // Enable or disable features based on authorization.
            if granted {
                let content = UNMutableNotificationContent()
                content.title = title
                content.body = body
                content.sound = UNNotificationSound.default()
                content.userInfo = userInfo
                let trigger = UNTimeIntervalNotificationTrigger.init(
                    timeInterval: interval,
                    repeats: false)

                let identifier = stringWithUUID()
                let request = UNNotificationRequest.init(
                    identifier: identifier,
                    content: content,
                    trigger: trigger
                )
                UNUserNotificationCenter.current().add(request, withCompletionHandler: nil)
                completion?(true, nil)
            }
            else {
                completion?(false, error)
            }
        }

这很正常,当您将 Apple Watch 从手腕上取下时,Apple Watch 会自动锁定,而通知会转到您的 iPhone。