Skip to content

EventKit macOS xcode15.0 b1

Haritha Mohan edited this page Aug 29, 2023 · 3 revisions

#EventKit.framework https://github.com/xamarin/xamarin-macios/pull/18863

diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/EventKit.framework/Headers/EKCalendar.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/EventKit.framework/Headers/EKCalendar.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/EventKit.framework/Headers/EKCalendar.h	2023-03-09 19:22:05
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/EventKit.framework/Headers/EKCalendar.h	2023-05-19 23:32:59
@@ -29,7 +29,11 @@
 @interface EKCalendar : EKObject
 
 // Create a new calendar in the specified event store. You should use calendarForEntityType in iOS 6 or later.
-+ (EKCalendar*)calendarWithEventStore:(EKEventStore *)eventStore NS_DEPRECATED(NA, NA, 4_0, 6_0);
++ (EKCalendar*)calendarWithEventStore:(EKEventStore *)eventStore NS_DEPRECATED(NA, NA, 4_0, 6_0)
+#if defined(TARGET_OS_XR) && TARGET_OS_XR
+API_UNAVAILABLE(xros)
+#endif
+;
 
 /*!
     @method     calendarForEntityType:
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/EventKit.framework/Headers/EKCalendarItem.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/EventKit.framework/Headers/EKCalendarItem.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/EventKit.framework/Headers/EKCalendarItem.h	2023-03-09 19:09:32
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/EventKit.framework/Headers/EKCalendarItem.h	2023-05-19 21:52:54
@@ -19,7 +19,11 @@
     @property   UUID
     @discussion This is now deprecated; use calendarItemIdentifier instead.
  */
-@property(nonatomic, readonly) NSString *UUID NS_DEPRECATED(NA, NA, 5_0, 6_0);
+@property(nonatomic, readonly) NSString *UUID NS_DEPRECATED(NA, NA, 5_0, 6_0)
+#if defined(TARGET_OS_XR) && TARGET_OS_XR
+API_UNAVAILABLE(xros)
+#endif
+;
 
 /*!
     @property calendar
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/EventKit.framework/Headers/EKEvent.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/EventKit.framework/Headers/EKEvent.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/EventKit.framework/Headers/EKEvent.h	2023-03-09 19:09:32
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/EventKit.framework/Headers/EKEvent.h	2023-05-19 22:18:21
@@ -185,7 +185,11 @@
                 the Address Book ID of the person this event was created for. For any other type of event,
                 this property returns -1.
 */
-@property(nonatomic, readonly) NSInteger birthdayPersonID NS_DEPRECATED_IOS(5_0, 9_0, "Use birthdayContactIdentifier instead");
+@property(nonatomic, readonly) NSInteger birthdayPersonID NS_DEPRECATED_IOS(5_0, 9_0, "Use birthdayContactIdentifier instead")
+#if defined(TARGET_OS_XR) && TARGET_OS_XR
+API_UNAVAILABLE(xros)
+#endif
+;
 
 /*!
     @property   birthdayPersonUniqueID
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/EventKit.framework/Headers/EKEventStore.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/EventKit.framework/Headers/EKEventStore.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/EventKit.framework/Headers/EKEventStore.h	2023-03-09 19:22:05
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/EventKit.framework/Headers/EKEventStore.h	2023-05-19 22:18:21
@@ -48,8 +48,10 @@
     @method     authorizationStatusForEntityType:
     @discussion Returns the authorization status for the given entity type
  */
+
 + (EKAuthorizationStatus)authorizationStatusForEntityType:(EKEntityType)entityType NS_AVAILABLE(10_9, 6_0);
 
+
 /*!
     @method     initWithAccessToEntityTypes:
     @discussion Users are able to grant or deny access to event and reminder data on a per-app basis. To request access to
@@ -79,19 +81,14 @@
 
 typedef void(^EKEventStoreRequestAccessCompletionHandler)(BOOL granted, NSError * __nullable error);
 
-/*!
-    @method     requestAccessToEntityType:completion:
-    @discussion Users are able to grant or deny access to event and reminder data on a per-app basis. To request access to
-                event and/or reminder data, call -requestAccessToEntityType:completion:. This will not block the app while
-                the user is being asked to grant or deny access.
- 
-                Until access has been granted for an entity type, the event store will not contain any calendars for that
-                entity type, and any attempt to save will fail. The user will only be prompted the first time access is
-                requested; any subsequent instantiations of EKEventStore will use the existing permissions. When the user
-                taps to grant or deny access, the completion handler will be called on an arbitrary queue.
-*/
-- (void)requestAccessToEntityType:(EKEntityType)entityType completion:(EKEventStoreRequestAccessCompletionHandler)completion NS_AVAILABLE(10_9, 6_0);
+- (void)requestFullAccessToEventsWithCompletion:(EKEventStoreRequestAccessCompletionHandler)completion API_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0));
 
+- (void)requestWriteOnlyAccessToEventsWithCompletion:(EKEventStoreRequestAccessCompletionHandler)completion API_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0));
+
+- (void)requestFullAccessToRemindersWithCompletion:(EKEventStoreRequestAccessCompletionHandler)completion API_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0));
+
+- (void)requestAccessToEntityType:(EKEntityType)entityType completion:(EKEventStoreRequestAccessCompletionHandler)completion API_DEPRECATED("Use -requestFullAccessToEventsWithCompletion:, -requestWriteOnlyAccessToEventsWithCompletion:, or -requestFullAccessToRemindersWithCompletion:", ios(6.0, 17.0), macos(10.0, 14.0), watchos(1.0, 10.0));
+
 /*!
     @property   eventStoreIdentifier
     @abstract   Returns a unique identifier string representing this calendar store.
@@ -130,7 +127,11 @@
                  and only returns calendars that support events. If you want reminder calendars
                  you should use calendarsForEntityType:
 */
-@property(nonatomic, readonly) NSArray<EKCalendar *> *calendars NS_DEPRECATED(NA, NA, 4_0, 6_0);
+@property(nonatomic, readonly) NSArray<EKCalendar *> *calendars NS_DEPRECATED(NA, NA, 4_0, 6_0)
+#if defined(TARGET_OS_XR) && TARGET_OS_XR
+API_UNAVAILABLE(xros)
+#endif
+;
 
 /*!
     @method     calendarsForEntityType
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/EventKit.framework/Headers/EKParticipant.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/EventKit.framework/Headers/EKParticipant.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/EventKit.framework/Headers/EKParticipant.h	2023-03-09 19:09:32
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/EventKit.framework/Headers/EKParticipant.h	2023-05-19 23:32:59
@@ -10,7 +10,7 @@
 #import <EventKit/EKTypes.h>
 
 #if TARGET_OS_IPHONE
-#if !TARGET_OS_WATCH
+#if __has_include(<AddressBook/ABPerson.h>)
 #import <AddressBook/ABPerson.h>
 #endif
 typedef CFTypeRef ABRecordRef;
@@ -84,7 +84,6 @@
 @property(nonatomic, readonly) NSPredicate *contactPredicate NS_AVAILABLE(10_11, 9_0);
 
 #if TARGET_OS_IPHONE
-#if !TARGET_OS_WATCH
 /*!
  @method     ABRecordWithAddressBook
  @abstract   Returns the ABRecordRef that represents this participant.
@@ -93,9 +92,12 @@
  passed. If we cannot find the participant, nil is returned.
  */
 
-- (nullable ABRecordRef)ABRecordWithAddressBook:(ABAddressBookRef)addressBook API_AVAILABLE(ios(4.0), macCatalyst(14.0)) API_DEPRECATED("Use contactPredicate instead", ios(4.0, 9.0)) CF_RETURNS_NOT_RETAINED;
-
+- (nullable ABRecordRef)ABRecordWithAddressBook:(ABAddressBookRef)addressBook API_AVAILABLE(ios(4.0), macCatalyst(14.0)) API_DEPRECATED("Use contactPredicate instead", ios(4.0, 9.0)) API_UNAVAILABLE(watchos)
+#if defined(TARGET_OS_XR) && TARGET_OS_XR
+    API_UNAVAILABLE(xros)
 #endif
+CF_RETURNS_NOT_RETAINED;
+
 #else
 /*!
  @method     ABPersonInAddressBook
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/EventKit.framework/Headers/EKSource.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/EventKit.framework/Headers/EKSource.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/EventKit.framework/Headers/EKSource.h	2023-03-09 19:09:32
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/EventKit.framework/Headers/EKSource.h	2023-05-19 23:32:59
@@ -23,8 +23,11 @@
  @property    calendars
  @abstract    This is now deprecated in favor of -[EKSource calendarsForEntityType:]
  */
-@property(nonatomic, readonly) NSSet<EKCalendar *> *calendars NS_DEPRECATED(NA, NA, 4_0, 6_0);
-
+@property(nonatomic, readonly) NSSet<EKCalendar *> *calendars NS_DEPRECATED(NA, NA, 4_0, 6_0)
+#if defined(TARGET_OS_XR) && TARGET_OS_XR
+API_UNAVAILABLE(xros)
+#endif
+;
 
 /*!
  @method      calendarsForEntityType
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/EventKit.framework/Headers/EKTypes.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/EventKit.framework/Headers/EKTypes.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/EventKit.framework/Headers/EKTypes.h	2023-03-09 19:09:32
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/EventKit.framework/Headers/EKTypes.h	2023-05-19 22:46:45
@@ -19,13 +19,19 @@
                                                     The user cannot change this application’s status, possibly due to
                                                     active restrictions such as parental controls being in place.
     @constant   EKAuthorizationStatusDenied         The user explicitly denied access to the service for this application.
-    @constant   EKAuthorizationStatusAuthorized     This application is authorized to access the service.
+ 
+    @constant   EKAuthorizationStatusWriteOnly      This application is authorized to save new items.
+    @constant   EKAuthorizationStatusFullAccess     This application is authorized to read or modify all data for the service.
+    @constant   EKAuthorizationStatusAuthorized     (Deprecated) This application is authorized to access the service.
  */
 typedef NS_ENUM(NSInteger, EKAuthorizationStatus) {
     EKAuthorizationStatusNotDetermined = 0,
     EKAuthorizationStatusRestricted,
     EKAuthorizationStatusDenied,
-    EKAuthorizationStatusAuthorized,
+    EKAuthorizationStatusFullAccess NS_ENUM_AVAILABLE(14_0, 17_0),
+    EKAuthorizationStatusWriteOnly NS_ENUM_AVAILABLE(14_0, 17_0),
+    
+    EKAuthorizationStatusAuthorized NS_ENUM_DEPRECATED(10_0, 14_0, 6_0, 17_0, "Check for full access or write only access") = EKAuthorizationStatusFullAccess,
 } NS_AVAILABLE(10_9, 6_0);
 
 
Clone this wiki locally