如何解决苹果手表app接收手表app发送的CloudKit后台推送通知
我正在向我的 iOS 应用添加 WatchOS 应用。我正在添加 CloudKit 以在 iOS 和 WatchOS 应用程序之间保持项目列表同步。当 CloudKit 中的值发生变化时,我正在使用后台静默推送通知向订阅的设备发送更新。当 iOS 应用程序更新 CloudKit 中的项目时,静默推送通知仅发送到手表,因为 CloudKit 知道不会将其发送到进行更改的设备。但是,当我的 WatchOS 应用程序更新项目时,CloudKit 会将静默推送通知发送回最初进行更新的手表应用程序(除了 iOS 应用程序,如预期的那样)。我不明白为什么 CloudKit 将通知发送到发生更改的手表。有谁知道为什么会这样?当从 CloudKit 发送任何推送通知时,即使更改源自此设备,也会调用下面的委托方法。
func didReceiveRemoteNotification(_ userInfo: [AnyHashable : Any],fetchCompletionHandler completionHandler: @escaping (WKBackgroundFetchResult) -> Void) {
if let _ = CKNotification(fromRemoteNotificationDictionary: userInfo) {
getiCloudItems { error in
if let error = error {
print(error.localizedDescription)
}
}
completionHandler(.newData)
return
} else {
completionHandler(.noData)
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。