Companion Apple Watch App 本地通知延迟?
Posted
技术标签:
【中文标题】Companion Apple Watch App 本地通知延迟?【英文标题】:Companion Apple Watch App local notifications delayed? 【发布时间】:2021-12-11 00:41:53 【问题描述】:我有一个 Apple Watch 应用程序作为 iPhone 应用程序的配套应用程序。 Apple Watch App 上的本地通知延迟。我安排在 10 秒后触发本地通知。当我按下手表上创建通知的按钮并退出应用程序时,显示通知不需要 10 秒,而是大约 23 秒。
我创建了一个具有相同本地通知代码的独立测试/独立 Apple Watch 应用,在这种情况下,本地通知会在正确的时间触发。
我使用的是 watchOS 8.1。这是 Apple Watch 上的新功能还是错误?因为在 iPhone 上它可以毫无延迟地工作。提前谢谢你:)
// Configure the notification's payload.
let content = UNMutableNotificationContent()
content.title = "Drink some milk!"
content.subtitle = "you have 10 sec"
content.sound = .default
content.categoryIdentifier = "myCategory"
let category = UNNotificationCategory(identifier: "myCategory", actions: [], intentIdentifiers: [], options: [])
UNUserNotificationCenter.current().setNotificationCategories([category])
let trigger = UNTimeIntervalNotificationTrigger(timeInterval: 10, repeats: false)
let request = UNNotificationRequest(identifier: "milk", content: content, trigger: trigger)
UNUserNotificationCenter.current().add(request) (error) in
if let error = error
print(error.localizedDescription)
else
print("scheduled successfully")
【问题讨论】:
watchos 8.3 的同样问题 【参考方案1】:这里有一个反馈: https://developer.apple.com/forums/thread/696280
这是正确的行为。
如果您同时安装了手机和手表应用,我们会在手机解锁时尝试协调手机和手表通知。如果应用开发者未在手机上发送通知,手表将在 13 秒后超时并发出警报。
对此的最佳解决方案是在两个设备上发送相同的通知,确保 UNNotificationRequest.identifier 在每个实例的基础上匹配。
这将使我们能够正确地警觉和推断。
如果手表应用发送本地通知,I'll send the notification 13 seconds ahead of time
。这样通知似乎是准时的
希望以后有更好的解决方案
【讨论】:
以上是关于Companion Apple Watch App 本地通知延迟?的主要内容,如果未能解决你的问题,请参考以下文章
swift 评估你的App是否加入Apple Watch功能