Skip to content

CloudKit iOS xcode27.0 b1

Alex Soto edited this page Jun 9, 2026 · 1 revision

#CloudKit.framework

diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CKContainer.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CKContainer.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CKContainer.h	2026-04-18 22:06:39
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CKContainer.h	2026-05-28 02:19:45
@@ -264,7 +264,7 @@
 /// - An error if a problem occurs, or `nil` if the system successfully completes the request.
 ///
 /// This method searches for the users asynchronously and with a low priority. If you want the task to execute with a higher priority, create an instance of ``CKDiscoverAllUserIdentitiesOperation`` and configure it to use the necessary priority.
-- (void)discoverAllIdentitiesWithCompletionHandler:(void (NS_SWIFT_SENDABLE ^)(NSArray<CKUserIdentity *> * _Nullable userIdentities, NSError * _Nullable error))completionHandler NS_SWIFT_ASYNC_NAME(allUserIdentitiesFromContacts()) API_DEPRECATED("No longer supported. Please see Sharing CloudKit Data with Other iCloud Users.", macos(10.12, 14.0), ios(10.0, 17.0), watchos(3.0, 10.0)) API_UNAVAILABLE(tvos);
+- (void)discoverAllIdentitiesWithCompletionHandler:(void (NS_SWIFT_SENDABLE ^)(NSArray<CKUserIdentity *> * _Nullable userIdentities, NSError * _Nullable error))completionHandler API_DEPRECATED("No longer supported. Please see Sharing CloudKit Data with Other iCloud Users.", macos(10.12, 14.0), ios(10.0, 17.0), watchos(3.0, 10.0)) API_UNAVAILABLE(tvos) NS_REFINED_FOR_SWIFT_ASYNC(1);
 
 /// Fetches the user identity for the specified email address.
 ///
@@ -282,7 +282,7 @@
 /// - The user grants the ``CKContainer/ApplicationPermissions/userDiscoverability`` permission for the container.
 ///
 /// This method searches for the user asynchronously and with a low priority. If you want the task to execute the request with a higher priority, create an instance of ``CKDiscoverUserIdentitiesOperation`` and configure it to use the necessary priority.
-- (void)discoverUserIdentityWithEmailAddress:(NSString *)email completionHandler:(void (NS_SWIFT_SENDABLE ^)(CKUserIdentity * _Nullable_result userInfo, NSError * _Nullable error))completionHandler NS_SWIFT_ASYNC_NAME(userIdentity(forEmailAddress:)) API_DEPRECATED("No longer supported. Please see Sharing CloudKit Data with Other iCloud Users.", macos(10.12, 14.0), ios(10.0, 17.0), tvos(10.0, 17.0), watchos(3.0, 10.0));
+- (void)discoverUserIdentityWithEmailAddress:(NSString *)email completionHandler:(void (NS_SWIFT_SENDABLE ^)(CKUserIdentity * _Nullable_result userInfo, NSError * _Nullable error))completionHandler API_DEPRECATED("No longer supported. Please see Sharing CloudKit Data with Other iCloud Users.", macos(10.12, 14.0), ios(10.0, 17.0), tvos(10.0, 17.0), watchos(3.0, 10.0)) NS_REFINED_FOR_SWIFT_ASYNC(2);
 
 /// Fetches the user identity for the specified phone number.
 ///
@@ -300,7 +300,7 @@
 /// - The user grants the ``CKContainer/ApplicationPermissions/userDiscoverability`` permission for the container.
 ///
 /// This method searches for the user asynchronously and with a low priority. If you want the task to execute the request with a higher priority, create an instance of ``CKDiscoverUserIdentitiesOperation`` and configure it to use the necessary priority.
-- (void)discoverUserIdentityWithPhoneNumber:(NSString *)phoneNumber completionHandler:(void (NS_SWIFT_SENDABLE ^)(CKUserIdentity * _Nullable_result userInfo, NSError * _Nullable error))completionHandler NS_SWIFT_ASYNC_NAME(userIdentity(forPhoneNumber:)) API_DEPRECATED("No longer supported. Please see Sharing CloudKit Data with Other iCloud Users.", macos(10.12, 14.0), ios(10.0, 17.0), tvos(10.0, 17.0), watchos(3.0, 10.0));
+- (void)discoverUserIdentityWithPhoneNumber:(NSString *)phoneNumber completionHandler:(void (NS_SWIFT_SENDABLE ^)(CKUserIdentity * _Nullable_result userInfo, NSError * _Nullable error))completionHandler API_DEPRECATED("No longer supported. Please see Sharing CloudKit Data with Other iCloud Users.", macos(10.12, 14.0), ios(10.0, 17.0), tvos(10.0, 17.0), watchos(3.0, 10.0)) NS_REFINED_FOR_SWIFT_ASYNC(2);
 
 /// Fetches the user identity for the specified user record ID.
 ///
@@ -318,7 +318,7 @@
 /// - The user grants the ``CKContainer/ApplicationPermissions/userDiscoverability`` permission for the container.
 ///
 /// This method searches for the user asynchronously and with a low priority. If you want the task to execute the request with a higher priority, create an instance of ``CKDiscoverUserIdentitiesOperation`` and configure it to use the necessary priority.
-- (void)discoverUserIdentityWithUserRecordID:(CKRecordID *)userRecordID completionHandler:(void (NS_SWIFT_SENDABLE ^)(CKUserIdentity * _Nullable_result userInfo, NSError * _Nullable error))completionHandler NS_SWIFT_ASYNC_NAME(userIdentity(forUserRecordID:)) API_DEPRECATED("No longer supported. Please see Sharing CloudKit Data with Other iCloud Users.", macos(10.12, 14.0), ios(10.0, 17.0), tvos(10.0, 17.0), watchos(3.0, 10.0));
+- (void)discoverUserIdentityWithUserRecordID:(CKRecordID *)userRecordID completionHandler:(void (NS_SWIFT_SENDABLE ^)(CKUserIdentity * _Nullable_result userInfo, NSError * _Nullable error))completionHandler API_DEPRECATED("No longer supported. Please see Sharing CloudKit Data with Other iCloud Users.", macos(10.12, 14.0), ios(10.0, 17.0), tvos(10.0, 17.0), watchos(3.0, 10.0)) NS_REFINED_FOR_SWIFT_ASYNC(2);
 
 @end
 
@@ -337,7 +337,7 @@
 /// CloudKit can translate any valid email address into a share participant.  If the email address doesn't correspond to a known iCloud account, then at share-accept-time, CloudKit offers the accepting participant a vetting process. The accepting participant uses this vetting process to link the email address to an iCloud account.
 ///
 /// This method searches for the share participant asynchronously and with a low priority. If you want the task to execute with a higher priority, create an instance of ``CKFetchShareParticipantsOperation`` and configure it to use the necessary priority.
-- (void)fetchShareParticipantWithEmailAddress:(NSString *)emailAddress completionHandler:(void (NS_SWIFT_SENDABLE ^)(CKShareParticipant * _Nullable shareParticipant, NSError * _Nullable error))completionHandler API_AVAILABLE(macos(10.12), ios(10.0), tvos(10.0), watchos(3.0)) NS_SWIFT_ASYNC_NAME(shareParticipant(forEmailAddress:));
+- (void)fetchShareParticipantWithEmailAddress:(NSString *)emailAddress completionHandler:(void (NS_SWIFT_SENDABLE ^)(CKShareParticipant * _Nullable shareParticipant, NSError * _Nullable error))completionHandler API_AVAILABLE(macos(10.12), ios(10.0), tvos(10.0), watchos(3.0)) NS_REFINED_FOR_SWIFT_ASYNC(2);
 
 /// Fetches the share participant with the specified phone number.
 ///
@@ -352,7 +352,7 @@
 /// CloudKit can translate any valid phone number into a share participant.  If the phone number doesn't correspond to a known iCloud account, then at share-accept-time, CloudKit offers the accepting participant a vetting process. The accepting participant uses this vetting process to link the phone number to an iCloud account.
 ///
 /// This method searches for the share participant asynchronously and with a low priority. If you want the task to execute with a higher priority, create an instance of ``CKFetchShareParticipantsOperation`` and configure it to use the necessary priority.
-- (void)fetchShareParticipantWithPhoneNumber:(NSString *)phoneNumber completionHandler:(void (NS_SWIFT_SENDABLE ^)(CKShareParticipant * _Nullable shareParticipant, NSError *_Nullable error))completionHandler API_AVAILABLE(macos(10.12), ios(10.0), tvos(10.0), watchos(3.0)) NS_SWIFT_ASYNC_NAME(shareParticipant(forPhoneNumber:));
+- (void)fetchShareParticipantWithPhoneNumber:(NSString *)phoneNumber completionHandler:(void (NS_SWIFT_SENDABLE ^)(CKShareParticipant * _Nullable shareParticipant, NSError *_Nullable error))completionHandler API_AVAILABLE(macos(10.12), ios(10.0), tvos(10.0), watchos(3.0)) NS_REFINED_FOR_SWIFT_ASYNC(2);
 
 /// Fetches the share participant with the specified user record ID.
 ///
@@ -365,7 +365,7 @@
 ///   - An error if a problem occurs, or `nil` if CloudKit successfully retrieves the participant.
 ///
 /// This method searches for the share participant asynchronously and with a low priority. If you want the task to execute with a higher priority, create an instance of ``CKFetchShareParticipantsOperation`` and configure it to use the necessary priority.
-- (void)fetchShareParticipantWithUserRecordID:(CKRecordID *)userRecordID completionHandler:(void (NS_SWIFT_SENDABLE ^)(CKShareParticipant *_Nullable shareParticipant, NSError *_Nullable error))completionHandler API_AVAILABLE(macos(10.12), ios(10.0), tvos(10.0), watchos(3.0)) NS_SWIFT_ASYNC_NAME(shareParticipant(forUserRecordID:));
+- (void)fetchShareParticipantWithUserRecordID:(CKRecordID *)userRecordID completionHandler:(void (NS_SWIFT_SENDABLE ^)(CKShareParticipant *_Nullable shareParticipant, NSError *_Nullable error))completionHandler API_AVAILABLE(macos(10.12), ios(10.0), tvos(10.0), watchos(3.0)) NS_REFINED_FOR_SWIFT_ASYNC(2);
 
 /// Fetches the share metadata for the specified share URL.
 ///
@@ -376,7 +376,7 @@
 /// The closure doesn't return a value and takes the following parameters:
 ///   - The share metadata, or `nil` if CloudKit can't find the metadata.
 ///   - An error if a problem occurs, or `nil` if CloudKit successfully retrieves the metadata.
-- (void)fetchShareMetadataWithURL:(NSURL *)url completionHandler:(void (NS_SWIFT_SENDABLE ^)(CKShareMetadata *_Nullable metadata, NSError * _Nullable error))completionHandler API_AVAILABLE(macos(10.12), ios(10.0), tvos(10.0), watchos(3.0)) NS_SWIFT_ASYNC_NAME(shareMetadata(for:));
+- (void)fetchShareMetadataWithURL:(NSURL *)url completionHandler:(void (NS_SWIFT_SENDABLE ^)(CKShareMetadata *_Nullable metadata, NSError * _Nullable error))completionHandler API_AVAILABLE(macos(10.12), ios(10.0), tvos(10.0), watchos(3.0)) NS_REFINED_FOR_SWIFT_ASYNC(2);
 
 /// Accepts the specified share metadata.
 ///
@@ -388,7 +388,7 @@
 ///
 /// - The corresponding share, or `nil` if CloudKit can't accept the metadata.
 /// - An error if a problem occurs, or `nil` if CloudKit successfully accepts the metadata.
-- (void)acceptShareMetadata:(CKShareMetadata *)metadata completionHandler:(void (NS_SWIFT_SENDABLE ^)(CKShare *_Nullable acceptedShare, NSError *_Nullable error))completionHandler API_AVAILABLE(macos(10.12), ios(10.0), tvos(10.0), watchos(3.0));
+- (void)acceptShareMetadata:(CKShareMetadata *)metadata completionHandler:(void (NS_SWIFT_SENDABLE ^)(CKShare *_Nullable acceptedShare, NSError *_Nullable error))completionHandler API_AVAILABLE(macos(10.12), ios(10.0), tvos(10.0), watchos(3.0)) NS_REFINED_FOR_SWIFT_ASYNC(2);
 
 @end
 
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CKDatabase.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CKDatabase.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CKDatabase.h	2026-04-18 21:33:20
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CKDatabase.h	2026-05-28 02:16:42
@@ -123,7 +123,7 @@
 /// - An error if a problem occurs, or `nil` if the fetch completes successfully.
 ///
 /// For information on a more convenient way to fetch specific records, see ``CKDatabase/records(for:desiredKeys:)``.
-- (void)fetchRecordWithID:(CKRecordID *)recordID completionHandler:(void (NS_SWIFT_SENDABLE ^)(CKRecord * _Nullable record, NSError * _Nullable error))completionHandler NS_SWIFT_ASYNC_NAME(record(for:));
+- (void)fetchRecordWithID:(CKRecordID *)recordID completionHandler:(void (NS_SWIFT_SENDABLE ^)(CKRecord * _Nullable record, NSError * _Nullable error))completionHandler NS_REFINED_FOR_SWIFT_ASYNC(2);
 
 /// Saves a specific record.
 ///
@@ -139,7 +139,7 @@
 /// The save succeeds only when the specified record is new, or is a more recent version than the one on the server.
 ///
 /// For information on a more convenient way to save records, see ``CKDatabase/modifyRecords(saving:deleting:savePolicy:atomically:)``.
-- (void)saveRecord:(CKRecord *)record completionHandler:(void (NS_SWIFT_SENDABLE ^)(CKRecord * _Nullable record, NSError * _Nullable error))completionHandler;
+- (void)saveRecord:(CKRecord *)record completionHandler:(void (NS_SWIFT_SENDABLE ^)(CKRecord * _Nullable record, NSError * _Nullable error))completionHandler NS_REFINED_FOR_SWIFT_ASYNC(2);
 
 /// Deletes a specific record.
 ///
@@ -155,7 +155,7 @@
 /// Deleting a record may cause additional deletions if other records in the database reference the deleted record. CloudKit doesn't provide the identifiers of any additional records it deletes.
 ///
 /// For information on a more convenient way to delete records, see ``CKDatabase/modifyRecords(saving:deleting:savePolicy:atomically:)``.
-- (void)deleteRecordWithID:(CKRecordID *)recordID completionHandler:(void (NS_SWIFT_SENDABLE ^)(CKRecordID * _Nullable recordID, NSError * _Nullable error))completionHandler NS_SWIFT_ASYNC_NAME(deleteRecord(withID:));
+- (void)deleteRecordWithID:(CKRecordID *)recordID completionHandler:(void (NS_SWIFT_SENDABLE ^)(CKRecordID * _Nullable recordID, NSError * _Nullable error))completionHandler NS_REFINED_FOR_SWIFT_ASYNC(2);
 
 #pragma mark - Query Convenience Method
 
@@ -173,7 +173,7 @@
 ///
 /// For information on a more convenient way to search a database, see ``CKDatabase/records(matching:inZoneWith:desiredKeys:resultsLimit:)``.
 - (void)performQuery:(CKQuery *)query inZoneWithID:(nullable CKRecordZoneID *)zoneID completionHandler:(void (NS_SWIFT_SENDABLE ^)(NSArray<CKRecord *> * _Nullable results, NSError * _Nullable error))completionHandler
-CK_SWIFT_DEPRECATED("renamed to fetch(withQuery:inZoneWith:desiredKeys:resultsLimit:completionHandler:)", macos(10.10, 12.0), ios(8.0, 15.0), tvos(9.0, 15.0), watchos(3.0, 8.0));
+CK_SWIFT_DEPRECATED("renamed to fetch(withQuery:inZoneWith:desiredKeys:resultsLimit:completionHandler:)", macos(10.10, 12.0), ios(8.0, 15.0), tvos(9.0, 15.0), watchos(3.0, 8.0)) NS_REFINED_FOR_SWIFT_ASYNC(3);
 
 #pragma mark - Record Zone Convenience Methods
 
@@ -186,7 +186,7 @@
 ///
 /// - An array of fetched record zones, or `nil` if there's an error. When present, the array contains at least one record zone, the default zone.
 /// - An error if a problem occurs, or `nil` if CloudKit successfully fetches all record zones.
-- (void)fetchAllRecordZonesWithCompletionHandler:(void (NS_SWIFT_SENDABLE ^)(NSArray<CKRecordZone *> * _Nullable zones, NSError * _Nullable error))completionHandler NS_SWIFT_ASYNC_NAME(allRecordZones());
+- (void)fetchAllRecordZonesWithCompletionHandler:(void (NS_SWIFT_SENDABLE ^)(NSArray<CKRecordZone *> * _Nullable zones, NSError * _Nullable error))completionHandler NS_REFINED_FOR_SWIFT_ASYNC(1);
 
 /// Fetches a specific record zone.
 ///
@@ -200,7 +200,7 @@
 /// - An error if a problem occurs, or `nil` if CloudKit successfully fetches the specified record zone.
 ///
 /// For information on a more convenient way to fetch specific record zones, see ``CKDatabase/recordZones(for:)`` in Swift or ``CKFetchRecordZonesOperation`` in Objective-C.
-- (void)fetchRecordZoneWithID:(CKRecordZoneID *)zoneID completionHandler:(void (NS_SWIFT_SENDABLE ^)(CKRecordZone * _Nullable zone, NSError * _Nullable error))completionHandler NS_SWIFT_ASYNC_NAME(recordZone(for:));
+- (void)fetchRecordZoneWithID:(CKRecordZoneID *)zoneID completionHandler:(void (NS_SWIFT_SENDABLE ^)(CKRecordZone * _Nullable zone, NSError * _Nullable error))completionHandler NS_REFINED_FOR_SWIFT_ASYNC(2);
 
 /// Saves a specific record zone.
 ///
@@ -214,7 +214,7 @@
 /// - An error if a problem occurs, or `nil` if CloudKit successfully saves the record zone.
 ///
 /// For information on a more convenient way to save record zones, see ``CKDatabase/modifyRecordZones(saving:deleting:)``.
-- (void)saveRecordZone:(CKRecordZone *)zone completionHandler:(void (NS_SWIFT_SENDABLE ^)(CKRecordZone * _Nullable zone, NSError * _Nullable error))completionHandler;
+- (void)saveRecordZone:(CKRecordZone *)zone completionHandler:(void (NS_SWIFT_SENDABLE ^)(CKRecordZone * _Nullable zone, NSError * _Nullable error))completionHandler NS_REFINED_FOR_SWIFT_ASYNC(2);
 
 /// Deletes a specific record zone.
 ///
@@ -230,7 +230,7 @@
 /// - An error if a problem occurs, or `nil` if CloudKit successfully deletes the record zone.
 ///
 /// For information on a more convenient way to delete record zones, see ``CKDatabase/modifyRecordZones(saving:deleting:)``.
-- (void)deleteRecordZoneWithID:(CKRecordZoneID *)zoneID completionHandler:(void (NS_SWIFT_SENDABLE ^)(CKRecordZoneID * _Nullable zoneID, NSError * _Nullable error))completionHandler NS_SWIFT_ASYNC_NAME(deleteRecordZone(withID:));
+- (void)deleteRecordZoneWithID:(CKRecordZoneID *)zoneID completionHandler:(void (NS_SWIFT_SENDABLE ^)(CKRecordZoneID * _Nullable zoneID, NSError * _Nullable error))completionHandler NS_REFINED_FOR_SWIFT_ASYNC(2);
 
 #pragma mark - Subscription Convenience Methods
 
@@ -259,7 +259,7 @@
 /// - An error if a problem occurs, or `nil` if the fetch completes successfully.
 ///
 /// For information on a more configurable way to fetch all subscriptions from a specific database, see ``CKFetchSubscriptionsOperation/fetchAllSubscriptionsOperation()``.
-- (void)fetchAllSubscriptionsWithCompletionHandler:(void (NS_SWIFT_SENDABLE ^)(NSArray<CKSubscription *> * _Nullable subscriptions, NSError * _Nullable error))completionHandler API_AVAILABLE(macos(10.10), ios(8.0), tvos(9.0), watchos(6.0)) NS_SWIFT_ASYNC_NAME(allSubscriptions());
+- (void)fetchAllSubscriptionsWithCompletionHandler:(void (NS_SWIFT_SENDABLE ^)(NSArray<CKSubscription *> * _Nullable subscriptions, NSError * _Nullable error))completionHandler API_AVAILABLE(macos(10.10), ios(8.0), tvos(9.0), watchos(6.0)) NS_REFINED_FOR_SWIFT_ASYNC(1);
 
 /// Saves a specific subscription.
 ///
@@ -273,7 +273,7 @@
 /// - An error if a problem occurs, or `nil` if CloudKit successfully saves the subscription.
 ///
 /// For information on a more convenient way to save subscriptions, see ``CKDatabase/modifySubscriptions(saving:deleting:)``.
-- (void)saveSubscription:(CKSubscription *)subscription completionHandler:(void (NS_SWIFT_SENDABLE ^)(CKSubscription * _Nullable subscription, NSError * _Nullable error))completionHandler API_AVAILABLE(macos(10.10), ios(8.0), tvos(9.0), watchos(6.0));
+- (void)saveSubscription:(CKSubscription *)subscription completionHandler:(void (NS_SWIFT_SENDABLE ^)(CKSubscription * _Nullable subscription, NSError * _Nullable error))completionHandler API_AVAILABLE(macos(10.10), ios(8.0), tvos(9.0), watchos(6.0)) NS_REFINED_FOR_SWIFT_ASYNC(2);
 
 /// Deletes a specific subscription and delivers the deleted subscription's identifier to a completion handler.
 ///
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CKFetchShareParticipantsOperation.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CKFetchShareParticipantsOperation.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CKFetchShareParticipantsOperation.h	2026-04-18 19:50:05
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CKFetchShareParticipantsOperation.h	2026-05-28 02:50:22
@@ -60,7 +60,7 @@
 /// }
 /// ```
 ///
-/// The operation calls ``shareParticipantFetchedBlock`` once for each item you provide, and CloudKit returns the participant, or an error if it can't generate a particpant. CloudKit also batches per-participant errors. If the operation completes with errors, it returns a ``CKError/partialFailure`` error. The error stores the individual errors in its <doc://com.apple.documentation/documentation/foundation/nserror/userinfo> dictionary. Use the ``CKPartialErrorsByItemIDKey`` key to extract them.
+/// The operation calls ``shareParticipantFetchedBlock`` once for each item you provide, and CloudKit returns the participant, or an error if it can't generate a participant. CloudKit also batches per-participant errors. If the operation completes with errors, it returns a ``CKError/partialFailure`` error. The error stores the individual errors in its <doc://com.apple.documentation/documentation/foundation/nserror/userinfo> dictionary. Use the ``CKPartialErrorsByItemIDKey`` key to extract them.
 API_AVAILABLE(macos(10.12), ios(10.0), tvos(10.0), watchos(3.0))
 @interface CKFetchShareParticipantsOperation : CKOperation
 
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CKModifyRecordsOperation.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CKModifyRecordsOperation.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CKModifyRecordsOperation.h	2026-04-18 19:54:05
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CKModifyRecordsOperation.h	2026-05-28 02:36:02
@@ -135,7 +135,7 @@
 /// This property is a closure that returns no value and has the following parameters:
 ///
 /// - The ID of the record that CloudKit saves.
-/// - The record that CloudKit saves, or `nil` if CloudKit can't save the record.
+/// - The saved record (as it appears on the server), or `nil` if there's an error.
 /// - If CloudKit can't save the record, an error that provides information about the failure; otherwise, `nil`.
 ///
 /// The closure executes once for each record in the ``CKModifyRecordsOperation/recordsToSave`` property. Each time the closure executes, it executes serially with respect to the other record completion blocks of the operation.
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CKOperation.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CKOperation.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CKOperation.h	2026-04-18 23:54:17
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CKOperation.h	2026-05-28 02:23:18
@@ -159,7 +159,6 @@
 /// - SeeAlso: `NSURLSessionConfiguration.timeoutIntervalForResource`
 @property (assign) NSTimeInterval timeoutIntervalForResource;
 
-
 @end
 
 #pragma mark - Deprecated CKOperation
@@ -172,7 +171,7 @@
 /// @DeprecationSummary {
 ///     Use ``CKOperation/Configuration/container`` instead.
 /// }
-/// 
+///
 /// The container defines where the operation executes. The ``CKContainer/add(_:)`` method of the ``CKContainer`` and ``CKDatabase`` classes implicitly set this property to their container.
 ///
 /// If you execute the operation yourself, either directly or using a custom operation queue, set the value of this property explicitly. If the value is `nil` when you execute an operation, the operation implicitly executes in your app's default container.
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CKShareAccessRequester.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CKShareAccessRequester.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CKShareAccessRequester.h	2026-04-18 21:14:35
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CKShareAccessRequester.h	2026-05-28 02:36:01
@@ -7,6 +7,8 @@
 
 #import <Foundation/Foundation.h>
 
+#import <CloudKit/CKDefines.h>
+
 
 #define CK_SHARE_ACCESS_REQUESTER_AVAILABILITY API_AVAILABLE(macos(26.0), ios(26.0), tvos(26.0), watchos(26.0), visionos(26.0))
 
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CKShareBlockedIdentity.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CKShareBlockedIdentity.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CKShareBlockedIdentity.h	2026-04-18 21:14:36
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CKShareBlockedIdentity.h	2026-05-28 02:36:02
@@ -7,6 +7,8 @@
 
 #import <Foundation/Foundation.h>
 
+#import <CloudKit/CKDefines.h>
+
 
 #define CK_SHARE_BLOCKED_IDENTITY_AVAILABILITY API_AVAILABLE(macos(26.0), ios(26.0), tvos(26.0), watchos(26.0), visionos(26.0))
 
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CKShareParticipant.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CKShareParticipant.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CKShareParticipant.h	2026-04-18 21:14:35
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CKShareParticipant.h	2026-05-28 01:16:48
@@ -149,6 +149,62 @@
 /// and a nil ``CKUserIdentity/lookupInfo``.
 + (instancetype)oneTimeURLParticipant NS_SWIFT_NAME(oneTimeURLParticipant()) API_AVAILABLE(macos(15.0), ios(18.0), tvos(18.0), watchos(11.0), visionos(2.0));
 
+/// Compares two `CKShareParticipant` objects for person identity equality.
+///
+/// This implementation differs from typical `NSObject` `isEqual:` behavior.
+/// Standard `isEqual:` implementations compare all meaningful properties for structural
+/// equality. This method specifically compares identity to answer "Are these the same person?"
+/// rather than "Are these participant objects identical?"
+///
+/// This method returns `YES` if both participants represent the same person, regardless
+/// of differences in `role`, `acceptanceStatus`, `permission`, or other properties,
+/// or if CloudKit determines these represent the same identity via other heuristics.
+///
+/// The method returns `YES` if any of these identity conditions are met:
+/// - `participantID` matches (direct participant identification)
+/// - `userIdentity.userRecordID` matches (same CloudKit user)
+/// - `userIdentity.lookupInfo` matches (same email, phone, or user record)
+///
+/// Properties NOT compared (may differ between "equal" participants):
+/// - `role` (owner, privateUser, publicUser)
+/// - `acceptanceStatus` (invited, accepted, removed, etc.)
+/// - `permission` (readOnly, readWrite, none)
+/// - `dateAddedToShare`
+/// - `isApprovedRequester`
+///
+/// - Parameter object: The object to compare against
+/// - Returns: `YES` if both participants represent the same person, `NO` otherwise
+///
+/// - Warning: Do not assume that participants returning `YES` from `isEqual:` have
+/// identical properties. Use explicit property comparisons when needed.
+///
+/// **Common use cases:**
+///
+/// Correct: Checking if person is already in share
+/// ```objc
+/// if ([existingParticipants containsObject:newParticipant]) {
+///     // Person already exists in share (regardless of role/status)
+/// }
+/// ```
+///
+/// Incorrect: Assuming structural equality
+/// ```objc
+/// if ([participant1 isEqual:participant2]) {
+///     // DON'T assume participant1.role == participant2.role
+///     // DON'T assume same acceptanceStatus or permissions
+/// }
+/// ```
+///
+/// Correct: Explicit structural comparison when needed
+/// ```objc
+/// if ([participant1 isEqual:participant2] &&
+///     participant1.role == participant2.role &&
+///     participant1.acceptanceStatus == participant2.acceptanceStatus) {
+///     // Now you have both identity AND structural equality
+/// }
+/// ```
+- (BOOL)isEqual:(id)object;
+
 @end
 
 NS_HEADER_AUDIT_END(nullability, sendability)
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CKSyncEngine.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CKSyncEngine.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CKSyncEngine.h	2026-04-18 23:54:19
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CKSyncEngine.h	2026-05-28 02:26:33
@@ -190,7 +190,7 @@
 
 /// Cancels any in-progress or pending sync operations.
 ///
-/// The sync engine processes cancelation requests asynchronously, meaning it's possible for in-progress operations to complete even after this method returns.
+/// The sync engine processes cancellation requests asynchronously, meaning it's possible for in-progress operations to complete even after this method returns.
 - (void)cancelOperationsWithCompletionHandler:(nullable void (NS_SWIFT_SENDABLE ^)(void))completionHandler;
 
 @end
@@ -215,7 +215,7 @@
 /// - Important: If `event` is an instance of ``CKSyncEngineStateUpdateEvent``, you must persist the attached state to disk alongside your app data.
 /// The sync engine requires you to provide it with the most recent serialized state at initialization, and it's your responsibility to make sure this is available across app launches.
 ///
-/// The sync engines provides events serially; your delegate won't receive the subsequent event until it finishes processing the current one and returns from this method.
+/// The sync engine provides events serially; your delegate won't receive the subsequent event until it finishes processing the current one and returns from this method.
 - (void)syncEngine:(CKSyncEngine *)syncEngine handleEvent:(CKSyncEngineEvent *)event NS_SWIFT_NAME(syncEngine(_:handleEvent:));
 
 /// Asks the delegate to provide the next set of record changes to send to the server.
@@ -361,7 +361,7 @@
 @property (strong) CKOperationGroup *operationGroup;
 
 /// Initializes a set of options with the specific scope.
-/// 
+///
 /// If no scope is provided, the default scope will include everything.
 - (instancetype)initWithScope:(nullable CKSyncEngineSendChangesScope *)scope;
 
@@ -429,7 +429,7 @@
 
 /// The context of an attempt to fetch changes from the server.
 ///
-/// The sync engine might attempt to fetch changes to the server for many reasons.
+/// The sync engine might attempt to fetch changes from the server for many reasons.
 /// For example, if you call ``CKSyncEngine/fetchChangesWithCompletionHandler:``, it tries to fetch changes immediately.
 /// Or if it receives a push notification, it schedules a sync and fetch changes when the scheduler task runs.
 API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0))
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CKSyncEngineConfiguration.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CKSyncEngineConfiguration.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CKSyncEngineConfiguration.h	2026-04-18 22:06:39
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CKSyncEngineConfiguration.h	2026-05-28 02:36:02
@@ -42,14 +42,14 @@
 /// For example, you may use one sync engine for a person's private database and another for their shared database.
 ///
 /// - Important: When using CloudKit's production environment, don't create multiple sync engines that target the same database.
-/// You can, however, do this in the development environment to help testing — for example, to simulate multiple devices syncing back, and forth.
+/// You can, however, do this in the development environment to help testing — for example, to simulate multiple devices syncing back and forth.
 @property (strong) CKDatabase *database;
 
 /// The sync engine's serialized state.
 ///
 /// This property returns the value you specify for the initializer's `stateSerialization` parameter.
 /// If you choose to set this property after initialization, assign the state from the most recent ``CKSyncEngineStateUpdateEvent`` handled by your delegate.
-/// However, If this is the first initialization of the associated sync engine, specify `nil` instead.
+/// However, if this is the first initialization of the associated sync engine, specify `nil` instead.
 ///
 /// The default value is `nil`.
 @property (nullable, copy) CKSyncEngineStateSerialization *stateSerialization;
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CKSyncEngineEvent.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CKSyncEngineEvent.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CKSyncEngineEvent.h	2026-04-18 19:50:04
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CKSyncEngineEvent.h	2026-05-28 01:40:12
@@ -147,7 +147,7 @@
 /// This event happens occasionally when the sync engine modifies the state internally during normal sync operation.
 /// This event also happens when you change the state yourself.
 ///
-/// The sync engine does not persist this state to disk, so you need to persist it in alongside your own local data.
+/// The sync engine does not persist this state to disk, so you need to persist it alongside your own local data.
 /// The next time your process launches, use this latest state serialization in ``CKSyncEngineConfiguration/stateSerialization`` to initialize your sync engine.
 ///
 /// This state is directly tied to the changes you fetch and send with the sync engine.
@@ -462,7 +462,7 @@
 /// The record that CloudKit is unable to modify.
 @property (readonly, strong, nonatomic) CKRecord *record;
 
-/// A error that describes the reason for the unsuccessful attempt to modify the associated record.
+/// An error that describes the reason for the unsuccessful attempt to modify the associated record.
 @property (readonly, strong, nonatomic) NSError *error;
 
 @end
@@ -480,7 +480,7 @@
 /// The record zone that CloudKit is unable to modify.
 @property (readonly, strong, nonatomic) CKRecordZone *recordZone;
 
-/// A error that describes the reason for the unsuccessful attempt to modify the associated record zone.
+/// An error that describes the reason for the unsuccessful attempt to modify the associated record zone.
 @property (readonly, strong, nonatomic) NSError *error;
 
 @end

Clone this wiki locally