CloudKit macOS 11.3 to 12.0 API Differences

CKContainer.h
Added CKAccountStatusTemporarilyUnavailable
CKDatabase.h
Modified -[CKDatabase deleteSubscriptionWithID:completionHandler:]
Declaration
From- (void)deleteSubscriptionWithID:(CKSubscriptionID)subscriptionID completionHandler:(void (^)(NSString * _Nullable, NSError * _Nullable))completionHandler
To- (void)deleteSubscriptionWithID:(CKSubscriptionID)subscriptionID completionHandler:(void (^)(CKSubscriptionID _Nullable, NSError * _Nullable))completionHandler

CKDefines.h
Added #def CK_SWIFT_AVAILABILITY
Added #def CK_SWIFT_DEPRECATED
CKError.h
Added CKErrorUserDidResetEncryptedDataKey
Added CKErrorAccountTemporarilyUnavailable
CKFetchDatabaseChangesOperation.h
Added CKFetchDatabaseChangesOperation.recordZoneWithIDWasDeletedDueToUserEncryptedDataResetBlock
CKFetchRecordZoneChangesOperation.h
Added CKFetchRecordZoneChangesOperation.recordWasChangedBlock
Modified CKFetchRecordZoneChangesOperation.recordChangedBlock
AvailabilityDeprecation Message
FromAvailablenone
ToDeprecatedUse recordWasChangedBlock instead, which surfaces per-record errors

CKFetchRecordZonesOperation.h
Added CKFetchRecordZonesOperation.perRecordZoneCompletionBlock
CKFetchShareParticipantsOperation.h
Added CKFetchShareParticipantsOperation.perShareParticipantCompletionBlock
Modified CKFetchShareParticipantsOperation.shareParticipantFetchedBlock
AvailabilityDeprecation Message
FromAvailablenone
ToDeprecatedUse perShareParticipantCompletionBlock instead, which surfaces per-share-participant errors

CKFetchSubscriptionsOperation.h
Added CKFetchSubscriptionsOperation.perSubscriptionCompletionBlock
CKModifyRecordsOperation.h
Added CKModifyRecordsOperation.perRecordSaveBlock
Added CKModifyRecordsOperation.perRecordDeleteBlock
Modified CKModifyRecordsOperation.perRecordCompletionBlock
AvailabilityReplacement
FromAvailablenone
ToDeprecatedperRecordSaveBlock

CKModifyRecordZonesOperation.h
Added CKModifyRecordZonesOperation.perRecordZoneSaveBlock
Added CKModifyRecordZonesOperation.perRecordZoneDeleteBlock
CKModifySubscriptionsOperation.h
Added CKModifySubscriptionsOperation.perSubscriptionSaveBlock
Added CKModifySubscriptionsOperation.perSubscriptionDeleteBlock
CKQueryOperation.h
Added CKQueryOperation.recordMatchedBlock
Modified CKQueryOperation.recordFetchedBlock
AvailabilityDeprecation Message
FromAvailablenone
ToDeprecatedUse recordMatchedBlock instead, which surfaces per-record errors

CKRecord.h
Added CKRecord.encryptedValues
CKRecordZone.h
Added CKRecordZoneCapabilityZoneWideSharing
Added CKRecordZone.share
CKShare.h
Added CKRecordNameZoneWideShare
Added -[CKShare initWithRecordZoneID:]
CKShareMetadata.h
Added CKShareMetadata.hierarchicalRootRecordID
Modified CKShareMetadata.rootRecordID
AvailabilityReplacement
FromAvailablenone
ToDeprecatedhierarchicalRootRecordID