From d69e4632ef75536e168ee64f9f74ed417e07ac68 Mon Sep 17 00:00:00 2001 From: Haritha Mohan Date: Fri, 1 Sep 2023 11:30:55 -0400 Subject: [PATCH] [EventKit] Add support for Xcode 15 beta 7 (#18863) Co-authored-by: GitHub Actions Autoformatter Co-authored-by: Alex Soto --- src/EventKit/EKEnums.cs | 1 + src/eventkit.cs | 20 +++++++++++++++++++ .../MacCatalyst-EventKit.todo | 2 -- .../common-EventKit.ignore | 2 ++ .../iOS-EventKit.ignore | 3 --- .../api-annotations-dotnet/iOS-EventKit.todo | 5 ----- .../macOS-EventKit.todo | 5 ----- tests/xtro-sharpie/common-EventKit.ignore | 1 + tests/xtro-sharpie/iOS-EventKit.ignore | 1 - tests/xtro-sharpie/iOS-EventKit.todo | 5 ----- tests/xtro-sharpie/macOS-EventKit.todo | 5 ----- tests/xtro-sharpie/watchOS-EventKit.ignore | 1 - tests/xtro-sharpie/watchOS-EventKit.todo | 5 ----- 13 files changed, 24 insertions(+), 32 deletions(-) delete mode 100644 tests/xtro-sharpie/api-annotations-dotnet/MacCatalyst-EventKit.todo delete mode 100644 tests/xtro-sharpie/api-annotations-dotnet/iOS-EventKit.todo delete mode 100644 tests/xtro-sharpie/api-annotations-dotnet/macOS-EventKit.todo delete mode 100644 tests/xtro-sharpie/iOS-EventKit.todo delete mode 100644 tests/xtro-sharpie/macOS-EventKit.todo delete mode 100644 tests/xtro-sharpie/watchOS-EventKit.ignore delete mode 100644 tests/xtro-sharpie/watchOS-EventKit.todo diff --git a/src/EventKit/EKEnums.cs b/src/EventKit/EKEnums.cs index 4ac03bd1d6..ebbf90678c 100644 --- a/src/EventKit/EKEnums.cs +++ b/src/EventKit/EKEnums.cs @@ -190,6 +190,7 @@ namespace EventKit { Restricted, Denied, Authorized, + WriteOnly, } [Native] diff --git a/src/eventkit.cs b/src/eventkit.cs index 3618b2721b..d812065f0a 100644 --- a/src/eventkit.cs +++ b/src/eventkit.cs @@ -672,16 +672,36 @@ namespace EventKit { EKSource [] DelegateSources { get; } [MacCatalyst (13, 1)] + [Deprecated (PlatformName.iOS, 17, 0, message: "Use RequestFullAccessToEvents, RequestWriteOnlyAccessToEvents, or RequestFullAccessToReminders.")] + [Deprecated (PlatformName.MacOSX, 14, 0, message: "Use RequestFullAccessToEvents, RequestWriteOnlyAccessToEvents, or RequestFullAccessToReminders.")] + [Deprecated (PlatformName.WatchOS, 10, 0, message: "Use RequestFullAccessToEvents, RequestWriteOnlyAccessToEvents, or RequestFullAccessToReminders.")] + [Deprecated (PlatformName.MacCatalyst, 17, 0, message: "Use RequestFullAccessToEvents, RequestWriteOnlyAccessToEvents, or RequestFullAccessToReminders.")] [Export ("requestAccessToEntityType:completion:")] [Async] void RequestAccess (EKEntityType entityType, Action completionHandler); + [Watch (10, 0), Mac (14, 0), iOS (17, 0), MacCatalyst (17, 0)] + [Export ("requestFullAccessToEventsWithCompletion:")] + [Async] + void RequestFullAccessToEvents (EKEventStoreRequestAccessCompletionHandler completion); + + [Watch (10, 0), Mac (14, 0), iOS (17, 0), MacCatalyst (17, 0)] + [Export ("requestWriteOnlyAccessToEventsWithCompletion:")] + [Async] + void RequestWriteOnlyAccessToEvents (EKEventStoreRequestAccessCompletionHandler completion); + + [Watch (10, 0), Mac (14, 0), iOS (17, 0), MacCatalyst (17, 0)] + [Export ("requestFullAccessToRemindersWithCompletion:")] + [Async] + void RequestFullAccessToReminders (EKEventStoreRequestAccessCompletionHandler completion); + [MacCatalyst (13, 1)] [Static] [Export ("authorizationStatusForEntityType:")] EKAuthorizationStatus GetAuthorizationStatus (EKEntityType entityType); } + delegate void EKEventStoreRequestAccessCompletionHandler (bool didRequestAccess, NSError error); delegate void EKEventSearchCallback (EKEvent theEvent, ref bool stop); [BaseType (typeof (EKCalendarItem))] diff --git a/tests/xtro-sharpie/api-annotations-dotnet/MacCatalyst-EventKit.todo b/tests/xtro-sharpie/api-annotations-dotnet/MacCatalyst-EventKit.todo deleted file mode 100644 index 0a68ddde7e..0000000000 --- a/tests/xtro-sharpie/api-annotations-dotnet/MacCatalyst-EventKit.todo +++ /dev/null @@ -1,2 +0,0 @@ -!missing-selector! EKEventStore::initWithSources: not bound -!missing-selector! EKSource::isDelegate not bound diff --git a/tests/xtro-sharpie/api-annotations-dotnet/common-EventKit.ignore b/tests/xtro-sharpie/api-annotations-dotnet/common-EventKit.ignore index c307fed79a..71563e436c 100644 --- a/tests/xtro-sharpie/api-annotations-dotnet/common-EventKit.ignore +++ b/tests/xtro-sharpie/api-annotations-dotnet/common-EventKit.ignore @@ -1,2 +1,4 @@ ## extra value so the enum is easier to create !extra-enum-value! Managed value 0 for EKWeekday.NotSet not found in native headers +## `Last` value can change overtime - which would be a breaking change for us +!missing-enum-value! EKErrorCode native value EKErrorLast = 37 not bound diff --git a/tests/xtro-sharpie/api-annotations-dotnet/iOS-EventKit.ignore b/tests/xtro-sharpie/api-annotations-dotnet/iOS-EventKit.ignore index 5e61618861..f6a5ffc2ac 100644 --- a/tests/xtro-sharpie/api-annotations-dotnet/iOS-EventKit.ignore +++ b/tests/xtro-sharpie/api-annotations-dotnet/iOS-EventKit.ignore @@ -1,5 +1,2 @@ ## only available on OSX (NA or unused in iOS) !missing-enum! EKAlarmType not bound - -## `Last` value can change overtime - which would be a breaking change for us -!missing-enum-value! EKErrorCode native value EKErrorLast = 37 not bound diff --git a/tests/xtro-sharpie/api-annotations-dotnet/iOS-EventKit.todo b/tests/xtro-sharpie/api-annotations-dotnet/iOS-EventKit.todo deleted file mode 100644 index d6f2b90fb8..0000000000 --- a/tests/xtro-sharpie/api-annotations-dotnet/iOS-EventKit.todo +++ /dev/null @@ -1,5 +0,0 @@ -!deprecated-attribute-missing! EKEventStore::requestAccessToEntityType:completion: missing a [Deprecated] attribute -!missing-enum-value! EKAuthorizationStatus native value EKAuthorizationStatusWriteOnly = 4 not bound -!missing-selector! EKEventStore::requestFullAccessToEventsWithCompletion: not bound -!missing-selector! EKEventStore::requestFullAccessToRemindersWithCompletion: not bound -!missing-selector! EKEventStore::requestWriteOnlyAccessToEventsWithCompletion: not bound diff --git a/tests/xtro-sharpie/api-annotations-dotnet/macOS-EventKit.todo b/tests/xtro-sharpie/api-annotations-dotnet/macOS-EventKit.todo deleted file mode 100644 index dd7e7062c9..0000000000 --- a/tests/xtro-sharpie/api-annotations-dotnet/macOS-EventKit.todo +++ /dev/null @@ -1,5 +0,0 @@ -!missing-enum-value! EKErrorCode native value EKErrorLast = 37 not bound -!missing-enum-value! EKAuthorizationStatus native value EKAuthorizationStatusWriteOnly = 4 not bound -!missing-selector! EKEventStore::requestFullAccessToEventsWithCompletion: not bound -!missing-selector! EKEventStore::requestFullAccessToRemindersWithCompletion: not bound -!missing-selector! EKEventStore::requestWriteOnlyAccessToEventsWithCompletion: not bound diff --git a/tests/xtro-sharpie/common-EventKit.ignore b/tests/xtro-sharpie/common-EventKit.ignore index 4b53002448..71563e436c 100644 --- a/tests/xtro-sharpie/common-EventKit.ignore +++ b/tests/xtro-sharpie/common-EventKit.ignore @@ -1,3 +1,4 @@ ## extra value so the enum is easier to create !extra-enum-value! Managed value 0 for EKWeekday.NotSet not found in native headers ## `Last` value can change overtime - which would be a breaking change for us +!missing-enum-value! EKErrorCode native value EKErrorLast = 37 not bound diff --git a/tests/xtro-sharpie/iOS-EventKit.ignore b/tests/xtro-sharpie/iOS-EventKit.ignore index 892eca3b18..f6a5ffc2ac 100644 --- a/tests/xtro-sharpie/iOS-EventKit.ignore +++ b/tests/xtro-sharpie/iOS-EventKit.ignore @@ -1,3 +1,2 @@ ## only available on OSX (NA or unused in iOS) !missing-enum! EKAlarmType not bound -!missing-enum-value! EKErrorCode native value EKErrorLast = 37 not bound diff --git a/tests/xtro-sharpie/iOS-EventKit.todo b/tests/xtro-sharpie/iOS-EventKit.todo deleted file mode 100644 index d6f2b90fb8..0000000000 --- a/tests/xtro-sharpie/iOS-EventKit.todo +++ /dev/null @@ -1,5 +0,0 @@ -!deprecated-attribute-missing! EKEventStore::requestAccessToEntityType:completion: missing a [Deprecated] attribute -!missing-enum-value! EKAuthorizationStatus native value EKAuthorizationStatusWriteOnly = 4 not bound -!missing-selector! EKEventStore::requestFullAccessToEventsWithCompletion: not bound -!missing-selector! EKEventStore::requestFullAccessToRemindersWithCompletion: not bound -!missing-selector! EKEventStore::requestWriteOnlyAccessToEventsWithCompletion: not bound diff --git a/tests/xtro-sharpie/macOS-EventKit.todo b/tests/xtro-sharpie/macOS-EventKit.todo deleted file mode 100644 index dd7e7062c9..0000000000 --- a/tests/xtro-sharpie/macOS-EventKit.todo +++ /dev/null @@ -1,5 +0,0 @@ -!missing-enum-value! EKErrorCode native value EKErrorLast = 37 not bound -!missing-enum-value! EKAuthorizationStatus native value EKAuthorizationStatusWriteOnly = 4 not bound -!missing-selector! EKEventStore::requestFullAccessToEventsWithCompletion: not bound -!missing-selector! EKEventStore::requestFullAccessToRemindersWithCompletion: not bound -!missing-selector! EKEventStore::requestWriteOnlyAccessToEventsWithCompletion: not bound diff --git a/tests/xtro-sharpie/watchOS-EventKit.ignore b/tests/xtro-sharpie/watchOS-EventKit.ignore deleted file mode 100644 index d685ac387b..0000000000 --- a/tests/xtro-sharpie/watchOS-EventKit.ignore +++ /dev/null @@ -1 +0,0 @@ -!missing-enum-value! EKErrorCode native value EKErrorLast = 37 not bound diff --git a/tests/xtro-sharpie/watchOS-EventKit.todo b/tests/xtro-sharpie/watchOS-EventKit.todo deleted file mode 100644 index d6f2b90fb8..0000000000 --- a/tests/xtro-sharpie/watchOS-EventKit.todo +++ /dev/null @@ -1,5 +0,0 @@ -!deprecated-attribute-missing! EKEventStore::requestAccessToEntityType:completion: missing a [Deprecated] attribute -!missing-enum-value! EKAuthorizationStatus native value EKAuthorizationStatusWriteOnly = 4 not bound -!missing-selector! EKEventStore::requestFullAccessToEventsWithCompletion: not bound -!missing-selector! EKEventStore::requestFullAccessToRemindersWithCompletion: not bound -!missing-selector! EKEventStore::requestWriteOnlyAccessToEventsWithCompletion: not bound