मैं क्लाउडकिट के साथ कुछ रिकॉर्ड परिवर्तन अपलोड करने का प्रयास कर रहा हूं। मैं डिवाइस पर बदल चुके रिकॉर्ड के बैच अपलोड करने के लिए एक CKModifyRecordsOperation का उपयोग करने का प्रयास कर रहा हूं।क्लाउडकिट CKModifyRecordsOperation मुझे "सुरक्षा डेटा मेल नहीं खाता"
- (void)updloadLocalChangesWithCompletionBlock:(void (^)(NSError *error))completionBlock
{
// Initialize the data
NSArray *localChanges = self.localChanges;
NSArray *localDeletions = self.localDeletions;
// Initialize the database and modify records operation
CKDatabase *database = [CKContainer defaultContainer].privateCloudDatabase;
CKModifyRecordsOperation *modifyRecordsOperation = [[CKModifyRecordsOperation alloc] initWithRecordsToSave:localChanges recordIDsToDelete:localDeletions];
modifyRecordsOperation.savePolicy = CKRecordSaveAllKeys;
NSLog(@"CLOUDKIT Changes Uploading: %d", localChanges.count);
// Add the completion block
modifyRecordsOperation.modifyRecordsCompletionBlock = ^(NSArray *savedRecords, NSArray *deletedRecordIDs, NSError *error) {
if (error) {
NSLog(@"[%@] Error pushing local data: %@", self.class, error);
}
[self.localChanges removeObjectsInArray:savedRecords];
[self.localDeletions removeObjectsInArray:deletedRecordIDs];
completionBlock(error);
};
// Start the operation
[database addOperation:modifyRecordsOperation];
}
यहाँ: रिकॉर्ड एक कस्टम क्षेत्र
किसी कारण आपरेशन मुझे बता "" संरक्षण डेटा से मेल नहीं खाती "
यहाँ एक त्रुटि के साथ वापस आ रहा रखता है के लिए सभी कोड है कर रहे हैं त्रुटि है यह मुझे दे रहा है:
[CloudKitSyncManager] Error Uploading Changes: <CKError 0x156654a0: "Partial Failure" (2/1011); "Failed to modify some records"; partial errors: {
default-00001:(ZoneName:UserRecordID) = <CKError 0x1550b5a0: "Server Record Changed" (14/2037); "Error saving record <CKRecordID: 0x18080430; default-00001:(ZoneName:UserRecordID)> to server: Protection data didn't match">
}>
हां, वे सीके रिकॉर्ड्स थे और हां मैं मौजूदा लोगों को ओवरराइट करने के लिए ताजा सीके रिकॉर्ड्स का उपयोग कर रहा था और हाँ आपका समाधान काम करता था! दस्तावेज़ों में बहुत स्पष्ट नहीं था। ओह अच्छा। जवाब के लिए धन्यवाद! – Jonathan