如何获取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")
            }
        }
    }
}