2016-11-16 28 views
1

我試圖保存一個CKRecord(已經創建並保存到數據庫)和一個新的CKShare,但是我一直收到這個錯誤:可選(「無法修改某些記錄」 )。這裏是我的代碼:在CKModifyRecordsOperation中保存CKRecord和CKShare時出錯

let csc = UICloudSharingController { controller, preparationCompletionHandler in 

     let share = CKShare(rootRecord: user) 
     share[CKShareTitleKey] = "My Share" as CKRecordValue 
     share.publicPermission = .readWrite 

     let mro = CKModifyRecordsOperation(recordsToSave: [user, share], recordIDsToDelete: nil) 

     mro.timeoutIntervalForRequest = 10 
     mro.timeoutIntervalForResource = 10 

     mro.modifyRecordsCompletionBlock = { records, recordIDs, error in 
      if error != nil { 
       print("ERROR IN MODIFY RECORDS COMPLETION BLOCK\n") 
       print(error?.localizedDescription) 
      } 
      preparationCompletionHandler(share,CKContainer.default(), error) 
     } 
     privateData.add(mro) 
    } 
    csc.availablePermissions = [.allowPrivate,.allowReadWrite] 
    self.present(csc, animated:true) 
} 

的問題是這種方法:modifyRecordsCompletionBlock。有人可以解釋爲什麼會發生這種情況嗎?

在此先感謝!

回答

1

我得到了它

所有你所要做的就是創建一個私人定製CKZone並保存CKRecord和CKShare在裏面,你不能使用默認區域雲套件提供給您!