Skip to content

CloudKit iOS xcode14.0 beta1

TJ Lambert edited this page Jul 25, 2022 · 3 revisions

#CloudKit.framework https://github.com/xamarin/xamarin-macios/pull/15546

diff -ruN /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CKAllowedSharingOptions.h /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CKAllowedSharingOptions.h
--- /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CKAllowedSharingOptions.h	1969-12-31 19:00:00.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CKAllowedSharingOptions.h	2022-05-31 14:52:17.000000000 -0400
@@ -0,0 +1,54 @@
+//
+//  CKAllowedSharingOptions.h
+//  CKFramework
+//
+//  Copyright © 2022 Apple Inc. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+#import <CloudKit/CKDefines.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+typedef NS_OPTIONS(NSUInteger, CKSharingParticipantAccessOption) {
+    /*! If specified, the system sharing UI will allow the user to share publicly i.e. anyone with the link has access. */
+    CKSharingParticipantAccessOptionAnyoneWithLink = 1 << 0,
+
+    /*! If specified, the system sharing UI will allow the user to share privately to specified recipients. */
+    CKSharingParticipantAccessOptionSpecifiedRecipientsOnly = 1 << 1,
+
+    /*! Allow the user to configure the share with either access option. */
+    CKSharingParticipantAccessOptionAny = CKSharingParticipantAccessOptionAnyoneWithLink | CKSharingParticipantAccessOptionSpecifiedRecipientsOnly,
+} API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0)) API_UNAVAILABLE(watchos);
+
+typedef NS_OPTIONS(NSUInteger, CKSharingParticipantPermissionOption) {
+    /*! If specified, the system sharing UI will allow the user to grant participants read-only permissions. */
+    CKSharingParticipantPermissionOptionReadOnly = 1 << 0,
+
+    /*! If specified, the system sharing UI will allow the user to grant participants read/write permissions. */
+    CKSharingParticipantPermissionOptionReadWrite = 1 << 1,
+
+    /*! Allow the user to configure added share participants with either permission option. */
+    CKSharingParticipantPermissionOptionAny = CKSharingParticipantPermissionOptionReadOnly | CKSharingParticipantPermissionOptionReadWrite,
+} API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0)) API_UNAVAILABLE(watchos);
+
+CK_EXTERN
+API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0))
+API_UNAVAILABLE(watchos)
+@interface CKAllowedSharingOptions : NSObject <NSSecureCoding, NSCopying>
+- (instancetype)initWithAllowedParticipantPermissionOptions:(CKSharingParticipantPermissionOption)allowedParticipantPermissionOptions allowedParticipantAccessOptions:(CKSharingParticipantAccessOption)allowedParticipantAccessOptions;
+
+@property (nonatomic, assign) CKSharingParticipantPermissionOption allowedParticipantPermissionOptions;
+@property (nonatomic, assign) CKSharingParticipantAccessOption allowedParticipantAccessOptions;
+
+/*!
+ Standard allowed options are most permissive i.e. @c allowedParticipantPermissionOptions = @c CKSharingParticipantPermissionOptionAny
+ and @c allowedParticipantAccessOptions = @c CKSharingParticipantAccessOptionAny
+ */
+@property (class, nonatomic, strong, readonly) CKAllowedSharingOptions *standardOptions;
+@end
+
+NS_ASSUME_NONNULL_END
+
+
diff -ruN /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CKFetchRecordZoneChangesOperation.h /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CKFetchRecordZoneChangesOperation.h
--- /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CKFetchRecordZoneChangesOperation.h	2022-02-23 10:57:31.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CKFetchRecordZoneChangesOperation.h	2022-06-03 18:09:28.000000000 -0400
@@ -41,11 +41,7 @@
 /*! @discussion If the replacement callback @c recordWasChangedBlock is set, this callback block is ignored.
  *  Each @c CKOperation instance has a private serial queue. This queue is used for all callback block invocations.
  */
-@property (nonatomic, copy, nullable) void (^recordChangedBlock)(CKRecord *record)
-
-    API_DEPRECATED("Use recordWasChangedBlock instead, which surfaces per-record errors", macos(10.12, 12.0), ios(10.0, 15.0), tvos(10.0, 15.0), watchos(3.0, 8.0));
-
-
+@property (nonatomic, copy, nullable) void (^recordChangedBlock)(CKRecord *record) API_DEPRECATED("Use recordWasChangedBlock instead, which surfaces per-record errors", macos(10.12, 12.0), ios(10.0, 15.0), tvos(10.0, 15.0), watchos(3.0, 8.0));
 
 /*! @discussion If a record fails in post-processing (say, a network failure materializing a @c CKAsset record field), the per-record error will be passed here.
  *  Each @c CKOperation instance has a private serial queue. This queue is used for all callback block invocations.
diff -ruN /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CKFetchShareParticipantsOperation.h /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CKFetchShareParticipantsOperation.h
--- /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CKFetchShareParticipantsOperation.h	2022-02-23 07:59:41.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CKFetchShareParticipantsOperation.h	2022-05-31 14:52:18.000000000 -0400
@@ -24,10 +24,7 @@
  *  @discussion If the replacement callback @c perShareParticipantCompletionBlock is set, this callback block is ignored.
  *  Each @c CKOperation instance has a private serial queue. This queue is used for all callback block invocations.
  */
-@property (nonatomic, copy, nullable) void (^shareParticipantFetchedBlock)(CKShareParticipant *participant)
-
-    API_DEPRECATED("Use perShareParticipantCompletionBlock instead, which surfaces per-share-participant errors", macos(10.12, 12.0), ios(10.0, 15.0), tvos(10.0, 15.0), watchos(3.0, 8.0));
-
+@property (nonatomic, copy, nullable) void (^shareParticipantFetchedBlock)(CKShareParticipant *participant) API_DEPRECATED("Use perShareParticipantCompletionBlock instead, which surfaces per-share-participant errors", macos(10.12, 12.0), ios(10.0, 15.0), tvos(10.0, 15.0), watchos(3.0, 8.0));
 
 /*! @abstract Called once for each lookup info.
  *
diff -ruN /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CKModifyRecordsOperation.h /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CKModifyRecordsOperation.h
--- /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CKModifyRecordsOperation.h	2022-02-23 07:13:07.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CKModifyRecordsOperation.h	2022-05-31 15:02:31.000000000 -0400
@@ -76,10 +76,7 @@
  *  @discussion Will not be invoked if @c perRecordSaveBlock is set.
  *  Each @c CKOperation instance has a private serial queue. This queue is used for all callback block invocations.
  */
-@property (nonatomic, copy, nullable) void (^perRecordCompletionBlock)(CKRecord *record, NSError * _Nullable error)
-
-    API_DEPRECATED_WITH_REPLACEMENT("perRecordSaveBlock", macos(10.10, 12.0), ios(8.0, 15.0), tvos(9.0, 15.0), watchos(3.0, 8.0));
-
+@property (nonatomic, copy, nullable) void (^perRecordCompletionBlock)(CKRecord *record, NSError * _Nullable error) API_DEPRECATED_WITH_REPLACEMENT("perRecordSaveBlock", macos(10.10, 12.0), ios(8.0, 15.0), tvos(9.0, 15.0), watchos(3.0, 8.0));
 
 
 /*! @abstract Called on success or failure of a record save
diff -ruN /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CKQueryOperation.h /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CKQueryOperation.h
--- /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CKQueryOperation.h	2022-02-23 07:13:06.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CKQueryOperation.h	2022-05-31 14:49:47.000000000 -0400
@@ -63,11 +63,7 @@
  *  If the replacement callback @c recordMatchedBlock is set, this callback block is ignored.
  *  Each @c CKOperation instance has a private serial queue. This queue is used for all callback block invocations.
  */
-@property (nonatomic, copy, nullable) void (^recordFetchedBlock)(CKRecord *record)
-
-    API_DEPRECATED("Use recordMatchedBlock instead, which surfaces per-record errors", macos(10.10, 12.0), ios(8.0, 15.0), tvos(9.0, 15.0), watchos(3.0, 8.0));
-
-
+@property (nonatomic, copy, nullable) void (^recordFetchedBlock)(CKRecord *record) API_DEPRECATED("Use recordMatchedBlock instead, which surfaces per-record errors", macos(10.10, 12.0), ios(8.0, 15.0), tvos(9.0, 15.0), watchos(3.0, 8.0));
 
 /*! @abstract This block will be called once for every record that is returned as a result of the query.
  *
diff -ruN /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CKShareMetadata.h /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CKShareMetadata.h
--- /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CKShareMetadata.h	2022-02-23 07:59:40.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CKShareMetadata.h	2022-05-31 14:52:17.000000000 -0400
@@ -29,7 +29,7 @@
 @property (nonatomic, readonly, copy, nullable) CKRecord *rootRecord;
 
 @property (nonatomic, readonly, assign) CKShareParticipantType participantType API_DEPRECATED_WITH_REPLACEMENT("participantRole", macos(10.12, 10.14), ios(10.0, 12.0), tvos(10.0, 12.0), watchos(3.0, 5.0));
-@property (nonatomic, readonly, copy) CKRecordID *rootRecordID API_DEPRECATED_WITH_REPLACEMENT("hierarchicalRootRecordID", macos(10.12, API_TO_BE_DEPRECATED), ios(10.0, API_TO_BE_DEPRECATED), tvos(10.0, API_TO_BE_DEPRECATED), watchos(3.0, API_TO_BE_DEPRECATED));
+@property (nonatomic, readonly, copy) CKRecordID *rootRecordID API_DEPRECATED_WITH_REPLACEMENT("hierarchicalRootRecordID", macos(10.12, 13.0), ios(10.0, 16.0), tvos(10.0, 16.0), watchos(3.0, 9.0));
 
 @end
 
diff -ruN /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CKSystemSharingUIObserver.h /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CKSystemSharingUIObserver.h
--- /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CKSystemSharingUIObserver.h	1969-12-31 19:00:00.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CKSystemSharingUIObserver.h	2022-05-31 14:52:17.000000000 -0400
@@ -0,0 +1,51 @@
+//
+//  CKSystemSharingUIObserver.h
+//  CloudKit
+//
+//  Copyright © 2022 Apple Inc. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+#import <CloudKit/CKDefines.h>
+
+@class CKContainer, CKShare, CKRecordID;
+
+NS_ASSUME_NONNULL_BEGIN
+
+CK_EXTERN
+API_AVAILABLE(macos(13.0), ios(16.0))
+API_UNAVAILABLE(watchos, tvos)
+@interface CKSystemSharingUIObserver : NSObject
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+- (instancetype)initWithContainer:(CKContainer *)container NS_DESIGNATED_INITIALIZER;
+
+/*! @abstract Called on success or failure of a @c CKShare save after user modifications via the system sharing UI
+ *
+ *  @discussion Following a successful share save by the system sharing UI in the provided @c CKContainer, this callback will be invoked with a nonnull @c recordID, a nonnull @c share, and a nil @c error.
+ *  Following a save failure due to a per-item error (@c CKErrorServerRecordChanged, for example), this callback will be invoked with a nonnull @c recordID, a nil @c share, and a nonnull @c error
+ *  Each @c CKSystemSharingUIObserver instance has a private serial queue. This queue is used for all callback block invocations.
+ */
+@property (atomic, copy, nullable) void (^systemSharingUIDidSaveShareBlock)(CKRecordID *recordID, CKShare * _Nullable share, NSError * _Nullable error) NS_REFINED_FOR_SWIFT;
+
+/*! @abstract Called on success or failure of a @c CKShare delete when the user decides to stop sharing via the system sharing UI
+ *
+ *  @discussion Each @c CKSystemSharingUIObserver instance has a private serial queue. This queue is used for all callback block invocations.
+ */
+@property (atomic, copy, nullable) void (^systemSharingUIDidStopSharingBlock)(CKRecordID *recordID, NSError * _Nullable error) NS_REFINED_FOR_SWIFT;
+
+/*!
+ * Will be removed soon. Please adopt systemSharingUIDidSaveShareBlock.
+ */
+@property (atomic, copy, nullable) void (^systemUIDidSaveShareBlock)(CKRecordID *recordID, CKShare * _Nullable share, NSError * _Nullable error) NS_REFINED_FOR_SWIFT;
+
+/*!
+ * Will be removed soon. Please adopt systemSharingUIDidStopSharingBlock.
+ */
+@property (atomic, copy, nullable) void (^systemUIDidStopSharingBlock)(CKRecordID *recordID, NSError * _Nullable error) NS_REFINED_FOR_SWIFT;
+@end
+
+NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CloudKit.h /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CloudKit.h
--- /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CloudKit.h	2022-02-10 03:40:50.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/CloudKit.h	2022-05-21 07:59:32.000000000 -0400
@@ -52,3 +52,8 @@
 #import <CloudKit/CKOperation.h>
 #import <CloudKit/CKOperationGroup.h>
 #import <CloudKit/CKQueryOperation.h>
+
+#pragma mark - Sharing Support
+#import <CloudKit/NSItemProvider+CKSharingSupport.h>
+#import <CloudKit/CKAllowedSharingOptions.h>
+#import <CloudKit/CKSystemSharingUIObserver.h>
diff -ruN /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/NSItemProvider+CKSharingSupport.h /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/NSItemProvider+CKSharingSupport.h
--- /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/NSItemProvider+CKSharingSupport.h	1969-12-31 19:00:00.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CloudKit.framework/Headers/NSItemProvider+CKSharingSupport.h	2022-05-31 14:52:17.000000000 -0400
@@ -0,0 +1,63 @@
+//
+//  NSItemProvider+CKSharingSupport.h
+//  CloudKit
+//
+//  Copyright © 2021 Apple Inc. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+#import <CloudKit/CKDefines.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@class CKShare, CKContainer, CKAllowedSharingOptions;
+
+typedef void (^CKSharePreparationCompletionHandler)(CKShare * _Nullable, NSError * _Nullable) NS_SWIFT_UNAVAILABLE("Use the async throwing preparationHandler instead.");
+typedef void (^CKSharePreparationHandler)(CKSharePreparationCompletionHandler) NS_SWIFT_UNAVAILABLE("Use the async throwing preparationHandler instead.");
+
+@interface NSItemProvider (CKSharingSupport)
+
+/*!
+ Use this method when you want to share a collection of @c CKRecords but don't currently have a @c CKShare. When the @c preparationHandler is called, you should create a new @c CKShare with the appropriate root @c CKRecord or @c CKRecordZoneID. After ensuring the share and all records have been saved to the server, invoke the @c preparationCompletionHandler with either the resulting @c CKShare, or an @c NSError if saving failed. Invoking the share sheet with a @c CKShare registered with this method will prompt the user to start sharing.
+ */
+- (void)registerCKShareWithContainer:(CKContainer *)container allowedSharingOptions:(CKAllowedSharingOptions *)allowedOptions preparationHandler:(CKSharePreparationHandler)preparationHandler API_AVAILABLE(macos(13.0), ios(16.0)) API_UNAVAILABLE(watchos, tvos) NS_REFINED_FOR_SWIFT;
+
+/*!
+ Use this method when you have a @c CKShare that is already saved to the server. Invoking the share sheet with a @c CKShare registered with this method will allow the owner to make modifications to the share settings, or will allow a participant to view the share settings.
+ */
+- (void)registerCKShare:(CKShare *)share container:(CKContainer *)container allowedSharingOptions:(CKAllowedSharingOptions *)allowedOptions API_AVAILABLE(macos(13.0), ios(16.0)) API_UNAVAILABLE(watchos, tvos) NS_REFINED_FOR_SWIFT;
+
+@end
+
+#pragma mark - Deprecated API
+
+// Will be deprecated soon. Please use CKAllowedSharingOptions.
+typedef NS_OPTIONS(NSUInteger, CKSharingOptions) {
+    /*! Allow the user to configure the share with the standard set of options. */
+    CKSharingOptionsStandard = 0,
+
+    /*! If specified, the system UI will allow the user to share publicly i.e. anyone with the link has access. */
+    CKSharingOptionsAllowPublic = 1 << 0,
+
+    /*! If specified, the system UI will allow the user to share privately to specified recipients. */
+    CKSharingOptionsAllowPrivate = 1 << 1,
+
+    /*! If specified, the system UI will allow the user to grant participants read-only permissions. */
+    CKSharingOptionsAllowReadOnly = 1 << 4,
+
+    /*! If specified, the system UI will allow the user to grant participants read/write permissions. */
+    CKSharingOptionsAllowReadWrite = 1 << 5,
+} API_AVAILABLE(macos(13.0), ios(16.0)) API_UNAVAILABLE(watchos, tvos);
+
+@interface NSItemProvider (Deprecated_CKSharingSupport)
+
+// Will be deprecated soon. Please use -[NSItemProvider registerCKShareWithContainer:allowedSharingOptions:preparationHandler:]
+- (void)registerCKShareWithContainer:(CKContainer *)container sharingOptions:(CKSharingOptions)sharingOptions preparationHandler:(CKSharePreparationHandler)preparationHandler API_AVAILABLE(macos(13.0), ios(16.0)) API_UNAVAILABLE(watchos, tvos) NS_REFINED_FOR_SWIFT;
+
+// Will be deprecated soon. Please use -[NSItemProvider registerCKShare:container:allowedSharingOptions:]
+- (void)registerCKShare:(CKShare *)share container:(CKContainer *)container sharingOptions:(CKSharingOptions)sharingOptions API_AVAILABLE(macos(13.0), ios(16.0)) API_UNAVAILABLE(watchos, tvos) NS_REFINED_FOR_SWIFT;
+@end
+
+NS_ASSUME_NONNULL_END
+
Clone this wiki locally