如何获取CKShare?
How to fetch a CKShare?
我可以生成分享,点击分享生成的link可以正常获取,但是一关闭应用再打开,就全没了!我想要做的是在没有 link 的情况下访问共享...通过打开应用程序,加载已在第一时间接受的共享中的内容。有人知道怎么做吗?
提前致谢
我明白了!首先,您需要获取所需共享的 CKRecordZone。
let sharedData = CKContainer.default().sharedCloudDatabase
sharedData.fetchAllRecordZones { (recordZone, error) in
if error != nil {
print(error?.localizedDescription)
}
if let recordZones = recordZone {
//Here you'll have an array of CKRecordZone that is in your SharedDB
}
}
现在,您只需像获取常规 CKRecord 一样获取 CKShare:
func asdasdasa(id: CKRecordZoneID) {
ctUsers = [CKRecord]()
let sharedData = CKContainer.default().sharedCloudDatabase
let predicate = NSPredicate(format: "TRUEPREDICATE")
let query = CKQuery(recordType: "Elder", predicate: predicate)
sharedData.perform(query, inZoneWith: id) { results, error in
if let error = error {
DispatchQueue.main.async {
print("Cloud Query Error - Fetch Establishments: \(error)")
}
return
}
if let users = results {
print(results)
self.ctUsers = users
print("How many shares in cloud: \(self.ctUsers.count)")
if self.ctUsers.count != 0 {
// Here you'll your Shared CKRecords!
}
else {
print("No shares found")
}
}
}
}
我可以生成分享,点击分享生成的link可以正常获取,但是一关闭应用再打开,就全没了!我想要做的是在没有 link 的情况下访问共享...通过打开应用程序,加载已在第一时间接受的共享中的内容。有人知道怎么做吗?
提前致谢
我明白了!首先,您需要获取所需共享的 CKRecordZone。
let sharedData = CKContainer.default().sharedCloudDatabase
sharedData.fetchAllRecordZones { (recordZone, error) in
if error != nil {
print(error?.localizedDescription)
}
if let recordZones = recordZone {
//Here you'll have an array of CKRecordZone that is in your SharedDB
}
}
现在,您只需像获取常规 CKRecord 一样获取 CKShare:
func asdasdasa(id: CKRecordZoneID) {
ctUsers = [CKRecord]()
let sharedData = CKContainer.default().sharedCloudDatabase
let predicate = NSPredicate(format: "TRUEPREDICATE")
let query = CKQuery(recordType: "Elder", predicate: predicate)
sharedData.perform(query, inZoneWith: id) { results, error in
if let error = error {
DispatchQueue.main.async {
print("Cloud Query Error - Fetch Establishments: \(error)")
}
return
}
if let users = results {
print(results)
self.ctUsers = users
print("How many shares in cloud: \(self.ctUsers.count)")
if self.ctUsers.count != 0 {
// Here you'll your Shared CKRecords!
}
else {
print("No shares found")
}
}
}
}