2016-11-18 40 views
0

我可以通過單擊共享生成的鏈接來生成共享並正常提取它,但只要關閉應用程序並再次打開它,它就全部消失!我想要做的就是在沒有鏈接的情況下訪問共享...通過打開應用程序,首次加載已經接受的共享內容。有人知道如何去做嗎?如何獲取CKShare?

在此先感謝

回答

0

我明白了!首先,您需要獲取您想要的共享的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 
     } 
    } 

,你只需要取CKShare,你會怎麼做正規的CKRecord:

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") 
      } 
     } 
    } 
}