【发布时间】:2018-10-12 23:35:45
【问题描述】:
假设记录的所有者与我共享它。我收到了一个分享链接,我打开它并接受这样的分享:
let operation = CKAcceptSharesOperation(shareMetadatas: [metadata])
operation.acceptSharesCompletionBlock = { error in
if let error = error{
print("accept share error: \(error)")
}else{
//Share accepted...
}
}
CloudKit.container.add(operation)
我之前也订阅了 Shared 数据库,如下所示:
let subscriptionSharedDatabase = CKDatabaseSubscription(subscriptionID: "subscriptionSharedDatabase")
let sharedInfo = CKSubscription.NotificationInfo()
sharedInfo.shouldSendContentAvailable = true
sharedInfo.alertBody = "" //This needs to be set or pushes don't get sent
subscriptionSharedDatabase.notificationInfo = sharedInfo
let subShared = CKModifySubscriptionsOperation(subscriptionsToSave: [subscriptionSharedDatabase], subscriptionIDsToDelete: nil)
CloudKit.sharedDB.add(subShared)
但现在假设CKShare 的所有者从该记录中删除我作为参与者,并将更新的参与者列表保存到 CloudKit。
据我所知,我收到的 only 通知是另一个共享数据库订阅 (subscriptionSharedDatabase) 更改,但没有更改或删除任何记录(我查看并没有更改记录当我取它们时)。
据我所知,在 CKShare 上收到参与者更改通知的唯一方法是订阅 cloudkit.share 记录类型的通知,但这在共享数据库中对我不可用对吧?
当我从 CKShare 中删除时,如何通知我?
【问题讨论】: