From 9a0cd6182b7086b238434ea5f857d65f5559fe2d Mon Sep 17 00:00:00 2001 From: Rolf Bjarne Kvinge Date: Tue, 13 Apr 2021 21:48:20 +0200 Subject: [PATCH] [introspection] Add/fix/remove availability attributes for Mac Catalyst to make introspection's Introduced test pass. (#10587) Co-authored-by: Sebastien Pouliot --- src/AVFoundation/AVCompat.cs | 18 ++++ src/AddressBook/ABAddressBook.cs | 9 ++ src/AddressBook/ABEnums.cs | 4 + src/AddressBook/ABGroup.cs | 2 + src/AddressBook/ABMultiValue.cs | 14 +++ src/AddressBook/ABPerson.cs | 30 +++++++ src/AddressBook/ABRecord.cs | 2 + src/AddressBook/ABSource.cs | 2 + src/AudioToolbox/AudioFile.cs | 5 -- src/AudioToolbox/AudioType.cs | 1 - src/AudioToolbox/Enums.cs | 1 - src/AudioUnit/AudioComponent.cs | 4 + src/AudioUnit/AudioComponentDescription.cs | 1 - src/AudioUnit/AudioUnit.cs | 4 + src/CoreGraphics/CGColor.cs | 5 ++ src/CoreGraphics/CGColorSpace.cs | 10 +++ src/CoreVideo/CVPixelBufferAttributes.cs | 2 + src/GameplayKit/GKCompat.cs | 2 +- src/LocalAuthentication/LAEnums.cs | 4 +- src/MediaPlayer/MediaPlayer.cs | 3 - src/MetalPerformanceShaders/MPSDefs.cs | 2 - src/MetalPerformanceShaders/MPSImageBatch.cs | 8 +- src/MetalPerformanceShaders/MPSNNGraph.cs | 1 - src/MetalPerformanceShaders/MPSStateBatch.cs | 1 - src/NaturalLanguage/NLModel.cs | 5 ++ src/Network/NWConnectionGroup.cs | 3 + src/Network/NWEnums.cs | 1 + src/Network/NWMulticastGroup.cs | 1 + src/Network/NWPath.cs | 2 + src/Security/Trust.cs | 2 + src/SensorKit/SRAbsoluteTime.cs | 1 + src/UIKit/Compat.cs | 8 ++ src/UIKit/UIAccessibility.cs | 4 + src/UIKit/UIEnums.cs | 4 +- src/UIKit/UISearchDisplayController.cs | 4 +- src/VideoToolbox/VTDefs.cs | 1 + src/Vision/VNUtils.cs | 1 + src/accessibility.cs | 3 + src/adservices.cs | 2 + src/audiounit.cs | 8 +- src/authenticationservices.cs | 6 +- src/avfoundation.cs | 23 +++++ src/avkit.cs | 2 + src/callkit.cs | 33 +------ src/cfnetwork.cs | 1 + src/classkit.cs | 7 -- src/cloudkit.cs | 1 + src/contacts.cs | 3 + src/coredata.cs | 12 ++- src/coregraphics.cs | 7 ++ src/coreimage.cs | 45 ++++++++++ src/corelocation.cs | 6 ++ src/coremidi.cs | 15 ++++ src/coreml.cs | 3 + src/coremotion.cs | 7 ++ src/corespotlight.cs | 1 + src/corevideo.cs | 2 + src/devicecheck.cs | 1 + src/eventkit.cs | 1 + src/externalaccessory.cs | 3 +- src/fileprovider.cs | 7 -- src/foundation.cs | 13 +++ src/gamecontroller.cs | 48 ++++++++++ src/gamekit.cs | 18 +++- src/gameplaykit.cs | 6 ++ src/identitylookup.cs | 16 ---- src/identitylookupui.cs | 2 - src/imageio.cs | 16 ++++ src/intents.cs | 85 +++++++++++++++++- src/mapkit.cs | 13 +++ src/mediaplayer.cs | 5 +- src/metal.cs | 32 +++++++ src/metalperformanceshaders.cs | 65 ++------------ src/metrickit.cs | 34 +++---- src/naturallanguage.cs | 15 ++++ src/nearbyinteraction.cs | 6 ++ src/networkextension.cs | 17 ++++ src/passkit.cs | 32 +++++++ src/pdfkit.cs | 1 + src/photos.cs | 3 + src/photosui.cs | 5 ++ src/pushkit.cs | 7 +- src/scenekit.cs | 1 + src/screentime.cs | 4 + src/security.cs | 1 + src/sensorkit.cs | 28 ++++++ src/speech.cs | 2 + src/spritekit.cs | 3 +- src/storekit.cs | 21 +++-- src/uikit.cs | 76 +++++++++++++++- src/videotoolbox.cs | 9 ++ src/vision.cs | 49 +++++++++++ src/wkwebkit.cs | 28 ++++++ tests/introspection/ApiAvailabilityTest.cs | 7 +- tests/introspection/ApiCMAttachmentTest.cs | 21 ++++- tests/introspection/ApiCtorInitTest.cs | 4 +- tests/introspection/ApiFrameworkTest.cs | 2 +- tests/introspection/ApiPInvokeTest.cs | 11 ++- tests/introspection/ApiProtocolTest.cs | 88 +++++++++++++------ tests/introspection/ApiSelectorTest.cs | 13 +++ tests/introspection/ApiTypeTest.cs | 5 +- tests/introspection/Mac/MacApiProtocolTest.cs | 16 ++++ tests/introspection/Mac/MacApiSelectorTest.cs | 7 -- tests/introspection/iOS/iOSApiCtorInitTest.cs | 7 +- tests/introspection/iOS/iOSApiProtocolTest.cs | 65 +++++++++++++- tests/introspection/iOS/iOSApiSelectorTest.cs | 12 +-- .../iOS/introspection-ios.csproj | 6 ++ tests/xharness/Harness.cs | 2 +- .../MacCatalyst-AVFoundation.ignore | 2 + .../xtro-sharpie/MacCatalyst-CoreData.ignore | 2 + .../xtro-sharpie/MacCatalyst-CoreVideo.ignore | 2 + .../MacCatalyst-ExternalAccessory.ignore | 3 + tests/xtro-sharpie/MacCatalyst-GameKit.ignore | 16 ++++ .../MacCatalyst-MediaPlayer.ignore | 3 + tests/xtro-sharpie/MacCatalyst-PassKit.ignore | 12 +++ tests/xtro-sharpie/MacCatalyst-PassKit.todo | 1 - tests/xtro-sharpie/MacCatalyst-PushKit.ignore | 2 + .../xtro-sharpie/MacCatalyst-StoreKit.ignore | 5 ++ tests/xtro-sharpie/MacCatalyst-UIKit.ignore | 24 +++++ tests/xtro-sharpie/MacCatalyst-UIKit.todo | 3 - 120 files changed, 1118 insertions(+), 255 deletions(-) create mode 100644 tests/xtro-sharpie/MacCatalyst-CoreData.ignore create mode 100644 tests/xtro-sharpie/MacCatalyst-CoreVideo.ignore create mode 100644 tests/xtro-sharpie/MacCatalyst-ExternalAccessory.ignore create mode 100644 tests/xtro-sharpie/MacCatalyst-MediaPlayer.ignore create mode 100644 tests/xtro-sharpie/MacCatalyst-PassKit.ignore delete mode 100644 tests/xtro-sharpie/MacCatalyst-PassKit.todo create mode 100644 tests/xtro-sharpie/MacCatalyst-PushKit.ignore create mode 100644 tests/xtro-sharpie/MacCatalyst-StoreKit.ignore create mode 100644 tests/xtro-sharpie/MacCatalyst-UIKit.ignore diff --git a/src/AVFoundation/AVCompat.cs b/src/AVFoundation/AVCompat.cs index fad29d546f..e7c23a4c05 100644 --- a/src/AVFoundation/AVCompat.cs +++ b/src/AVFoundation/AVCompat.cs @@ -517,4 +517,22 @@ namespace AVFoundation { #endif // TVOS #endif // !XAMCORE_4_0 #endif // !WATCH + +#if !XAMCORE_4_0 && IOS // includes __MACCATALYST__ + public partial class AVCaptureManualExposureBracketedStillImageSettings { + [Obsolete ("Use the static 'Create' method to create a working instance of this type.")] + public AVCaptureManualExposureBracketedStillImageSettings () : base (NSObjectFlag.Empty) + { + throw new NotImplementedException (); + } + } + + public partial class AVCaptureAutoExposureBracketedStillImageSettings { + [Obsolete ("Use the static 'Create' method to create a working instance of this type.")] + public AVCaptureAutoExposureBracketedStillImageSettings () : base (NSObjectFlag.Empty) + { + throw new NotImplementedException (); + } + } +#endif } diff --git a/src/AddressBook/ABAddressBook.cs b/src/AddressBook/ABAddressBook.cs index ac88543c84..829023272c 100644 --- a/src/AddressBook/ABAddressBook.cs +++ b/src/AddressBook/ABAddressBook.cs @@ -40,6 +40,8 @@ using ObjCRuntime; namespace AddressBook { [Deprecated (PlatformName.iOS, 9, 0, message : "Use the 'Contacts' API instead.")] + [Introduced (PlatformName.MacCatalyst, 14, 0)] + [Deprecated (PlatformName.MacCatalyst, 14, 0, message : "Use the 'Contacts' API instead.")] public class ExternalChangeEventArgs : EventArgs { public ExternalChangeEventArgs (ABAddressBook addressBook, NSDictionary info) { @@ -68,6 +70,11 @@ namespace AddressBook { static InitConstants () { +#if __MACCATALYST__ + // avoid TypeLoadException if used before macOS 11.x + if (!UIKit.UIDevice.CurrentDevice.CheckSystemVersion (14,0)) + return; +#endif // ensure we can init. This is needed before iOS6 (as per doc). IntPtr p = ABAddressBook.ABAddressBookCreate (); @@ -92,6 +99,8 @@ namespace AddressBook { } [Deprecated (PlatformName.iOS, 9, 0, message : "Use the 'Contacts' API instead.")] + [Introduced (PlatformName.MacCatalyst, 14, 0)] + [Deprecated (PlatformName.MacCatalyst, 14, 0, message : "Use the 'Contacts' API instead.")] public class ABAddressBook : INativeObject, IDisposable, IEnumerable { public static readonly NSString ErrorDomain; diff --git a/src/AddressBook/ABEnums.cs b/src/AddressBook/ABEnums.cs index 1df69ed2d1..648f96706c 100644 --- a/src/AddressBook/ABEnums.cs +++ b/src/AddressBook/ABEnums.cs @@ -35,6 +35,8 @@ using ObjCRuntime; namespace AddressBook { [Deprecated (PlatformName.iOS, 9, 0, message : "Use the 'Contacts' API instead.")] + [Introduced (PlatformName.MacCatalyst, 14, 0)] + [Deprecated (PlatformName.MacCatalyst, 14, 0, message : "Use the 'Contacts' API instead.")] [Native] [ErrorDomain ("ABAddressBookErrorDomain")] public enum ABAddressBookError : long { @@ -43,6 +45,8 @@ namespace AddressBook { } [Deprecated (PlatformName.iOS, 9, 0, message : "Use the 'Contacts' API instead.")] + [Introduced (PlatformName.MacCatalyst, 14, 0)] + [Deprecated (PlatformName.MacCatalyst, 14, 0, message : "Use the 'Contacts' API instead.")] [Native] public enum ABAuthorizationStatus : long { NotDetermined = 0, diff --git a/src/AddressBook/ABGroup.cs b/src/AddressBook/ABGroup.cs index b8dfccb05c..0441c4073a 100644 --- a/src/AddressBook/ABGroup.cs +++ b/src/AddressBook/ABGroup.cs @@ -56,6 +56,8 @@ namespace AddressBook { } [Deprecated (PlatformName.iOS, 9, 0, message : "Use the 'Contacts' API instead.")] + [Introduced (PlatformName.MacCatalyst, 14, 0)] + [Deprecated (PlatformName.MacCatalyst, 14, 0, message : "Use the 'Contacts' API instead.")] public class ABGroup : ABRecord, IEnumerable { [DllImport (Constants.AddressBookLibrary)] diff --git a/src/AddressBook/ABMultiValue.cs b/src/AddressBook/ABMultiValue.cs index 642c0755c5..03d26177b2 100644 --- a/src/AddressBook/ABMultiValue.cs +++ b/src/AddressBook/ABMultiValue.cs @@ -41,6 +41,8 @@ using ObjCRuntime; namespace AddressBook { [Deprecated (PlatformName.iOS, 9,0)] + [Introduced (PlatformName.MacCatalyst, 14, 0)] + [Deprecated (PlatformName.MacCatalyst, 14, 0, message : "Use the 'Contacts' API instead.")] static class ABMultiValue { public const uint Mask = (1 << 8); @@ -101,6 +103,8 @@ namespace AddressBook { } [Deprecated (PlatformName.iOS, 9, 0, message : "Use the 'Contacts' API instead.")] + [Introduced (PlatformName.MacCatalyst, 14, 0)] + [Deprecated (PlatformName.MacCatalyst, 14, 0, message : "Use the 'Contacts' API instead.")] public struct ABMultiValueEntry { ABMultiValue self; @@ -173,6 +177,8 @@ namespace AddressBook { } [Deprecated (PlatformName.iOS, 9, 0, message : "Use the 'Contacts' API instead.")] + [Introduced (PlatformName.MacCatalyst, 14, 0)] + [Deprecated (PlatformName.MacCatalyst, 14, 0, message : "Use the 'Contacts' API instead.")] public class ABMultiValue : INativeObject, IDisposable, IEnumerable> { IntPtr handle; @@ -293,6 +299,8 @@ namespace AddressBook { } [Deprecated (PlatformName.iOS, 9, 0, message : "Use the 'Contacts' API instead.")] + [Introduced (PlatformName.MacCatalyst, 14, 0)] + [Deprecated (PlatformName.MacCatalyst, 14, 0, message : "Use the 'Contacts' API instead.")] public class ABMutableMultiValue : ABMultiValue { internal ABMutableMultiValue (IntPtr handle) @@ -338,6 +346,8 @@ namespace AddressBook { } [Deprecated (PlatformName.iOS, 9, 0, message : "Use the 'Contacts' API instead.")] + [Introduced (PlatformName.MacCatalyst, 14, 0)] + [Deprecated (PlatformName.MacCatalyst, 14, 0, message : "Use the 'Contacts' API instead.")] public class ABMutableDateMultiValue : ABMutableMultiValue { public ABMutableDateMultiValue () : base (ABMultiValue.CreateMutable (ABPropertyType.MultiDateTime)) @@ -346,6 +356,8 @@ namespace AddressBook { } [Deprecated (PlatformName.iOS, 9, 0, message : "Use the 'Contacts' API instead.")] + [Introduced (PlatformName.MacCatalyst, 14, 0)] + [Deprecated (PlatformName.MacCatalyst, 14, 0, message : "Use the 'Contacts' API instead.")] public class ABMutableDictionaryMultiValue : ABMutableMultiValue { public ABMutableDictionaryMultiValue () : base (ABMultiValue.CreateMutable (ABPropertyType.MultiDictionary)) @@ -354,6 +366,8 @@ namespace AddressBook { } [Deprecated (PlatformName.iOS, 9, 0, message : "Use the 'Contacts' API instead.")] + [Introduced (PlatformName.MacCatalyst, 14, 0)] + [Deprecated (PlatformName.MacCatalyst, 14, 0, message : "Use the 'Contacts' API instead.")] public class ABMutableStringMultiValue : ABMutableMultiValue { public ABMutableStringMultiValue () : base (ABMultiValue.CreateMutable (ABPropertyType.MultiString), diff --git a/src/AddressBook/ABPerson.cs b/src/AddressBook/ABPerson.cs index 10ceacc5ad..035e6575ab 100644 --- a/src/AddressBook/ABPerson.cs +++ b/src/AddressBook/ABPerson.cs @@ -169,6 +169,8 @@ namespace AddressBook { } [Deprecated (PlatformName.iOS, 9, 0, message : "Use the 'Contacts' API instead.")] + [Introduced (PlatformName.MacCatalyst, 14, 0)] + [Deprecated (PlatformName.MacCatalyst, 14, 0, message : "Use the 'Contacts' API instead.")] public static class ABPersonAddressKey { public static NSString City {get; private set;} @@ -196,6 +198,8 @@ namespace AddressBook { } [Deprecated (PlatformName.iOS, 9, 0, message : "Use the 'Contacts' API instead.")] + [Introduced (PlatformName.MacCatalyst, 14, 0)] + [Deprecated (PlatformName.MacCatalyst, 14, 0, message : "Use the 'Contacts' API instead.")] public static class ABPersonDateLabel { public static NSString Anniversary {get; private set;} @@ -247,6 +251,8 @@ namespace AddressBook { } [Deprecated (PlatformName.iOS, 9, 0, message : "Use the 'Contacts' API instead.")] + [Introduced (PlatformName.MacCatalyst, 14, 0)] + [Deprecated (PlatformName.MacCatalyst, 14, 0, message : "Use the 'Contacts' API instead.")] static class ABPersonSocialProfile { public static readonly NSString URLKey; public static readonly NSString ServiceKey; @@ -264,6 +270,8 @@ namespace AddressBook { } [Deprecated (PlatformName.iOS, 9, 0, message : "Use the 'Contacts' API instead.")] + [Introduced (PlatformName.MacCatalyst, 14, 0)] + [Deprecated (PlatformName.MacCatalyst, 14, 0, message : "Use the 'Contacts' API instead.")] public static class ABPersonSocialProfileService { public static readonly NSString Twitter; @@ -289,6 +297,8 @@ namespace AddressBook { } [Deprecated (PlatformName.iOS, 9, 0, message : "Use the 'Contacts' API instead.")] + [Introduced (PlatformName.MacCatalyst, 14, 0)] + [Deprecated (PlatformName.MacCatalyst, 14, 0, message : "Use the 'Contacts' API instead.")] public static class ABPersonPhoneLabel { public static NSString HomeFax {get; private set;} public static NSString iPhone {get; private set;} @@ -319,6 +329,8 @@ namespace AddressBook { } [Deprecated (PlatformName.iOS, 9, 0, message : "Use the 'Contacts' API instead.")] + [Introduced (PlatformName.MacCatalyst, 14, 0)] + [Deprecated (PlatformName.MacCatalyst, 14, 0, message : "Use the 'Contacts' API instead.")] public static class ABPersonInstantMessageService { public static NSString Aim {get; private set;} public static NSString Icq {get; private set;} @@ -354,6 +366,8 @@ namespace AddressBook { } [Deprecated (PlatformName.iOS, 9, 0, message : "Use the 'Contacts' API instead.")] + [Introduced (PlatformName.MacCatalyst, 14, 0)] + [Deprecated (PlatformName.MacCatalyst, 14, 0, message : "Use the 'Contacts' API instead.")] public static class ABPersonInstantMessageKey { public static NSString Service {get; private set;} public static NSString Username {get; private set;} @@ -372,6 +386,8 @@ namespace AddressBook { } [Deprecated (PlatformName.iOS, 9, 0, message : "Use the 'Contacts' API instead.")] + [Introduced (PlatformName.MacCatalyst, 14, 0)] + [Deprecated (PlatformName.MacCatalyst, 14, 0, message : "Use the 'Contacts' API instead.")] public static class ABPersonUrlLabel { public static NSString HomePage {get; private set;} @@ -387,6 +403,8 @@ namespace AddressBook { } [Deprecated (PlatformName.iOS, 9, 0, message : "Use the 'Contacts' API instead.")] + [Introduced (PlatformName.MacCatalyst, 14, 0)] + [Deprecated (PlatformName.MacCatalyst, 14, 0, message : "Use the 'Contacts' API instead.")] public static class ABPersonRelatedNamesLabel { public static NSString Assistant {get; private set;} public static NSString Brother {get; private set;} @@ -423,6 +441,8 @@ namespace AddressBook { } [Deprecated (PlatformName.iOS, 9, 0, message : "Use the 'Contacts' API instead.")] + [Introduced (PlatformName.MacCatalyst, 14, 0)] + [Deprecated (PlatformName.MacCatalyst, 14, 0, message : "Use the 'Contacts' API instead.")] public static class ABLabel { public static NSString Home {get; private set;} public static NSString Other {get; private set;} @@ -443,6 +463,8 @@ namespace AddressBook { } [Deprecated (PlatformName.iOS, 9, 0, message : "Use the 'Contacts' API instead.")] + [Introduced (PlatformName.MacCatalyst, 14, 0)] + [Deprecated (PlatformName.MacCatalyst, 14, 0, message : "Use the 'Contacts' API instead.")] public class ABPerson : ABRecord, IComparable, IComparable { [DllImport (Constants.AddressBookLibrary)] extern static IntPtr ABPersonCreate (); @@ -934,6 +956,10 @@ namespace AddressBook { } [Deprecated (PlatformName.iOS, 9, 0, message : "Use the 'Contacts' API instead.")] + [Introduced (PlatformName.MacCatalyst, 14, 0)] + [Deprecated (PlatformName.MacCatalyst, 14, 0, message : "Use the 'Contacts' API instead.")] + [Introduced (PlatformName.MacCatalyst, 14, 0)] + [Deprecated (PlatformName.MacCatalyst, 14, 0, message : "Use the 'Contacts' API instead.")] public class SocialProfile : DictionaryContainer { public SocialProfile () @@ -983,6 +1009,8 @@ namespace AddressBook { } [Deprecated (PlatformName.iOS, 9, 0, message : "Use the 'Contacts' API instead.")] + [Introduced (PlatformName.MacCatalyst, 14, 0)] + [Deprecated (PlatformName.MacCatalyst, 14, 0, message : "Use the 'Contacts' API instead.")] public class InstantMessageService : DictionaryContainer { public InstantMessageService () @@ -1017,6 +1045,8 @@ namespace AddressBook { } [Deprecated (PlatformName.iOS, 9, 0, message : "Use the 'Contacts' API instead.")] + [Introduced (PlatformName.MacCatalyst, 14, 0)] + [Deprecated (PlatformName.MacCatalyst, 14, 0, message : "Use the 'Contacts' API instead.")] public class PersonAddress : DictionaryContainer { public PersonAddress () diff --git a/src/AddressBook/ABRecord.cs b/src/AddressBook/ABRecord.cs index fec002044b..3d3c9e0e3b 100644 --- a/src/AddressBook/ABRecord.cs +++ b/src/AddressBook/ABRecord.cs @@ -39,6 +39,8 @@ using ObjCRuntime; namespace AddressBook { [Deprecated (PlatformName.iOS, 9, 0, message : "Use the 'Contacts' API instead.")] + [Introduced (PlatformName.MacCatalyst, 14, 0)] + [Deprecated (PlatformName.MacCatalyst, 14, 0, message : "Use the 'Contacts' API instead.")] public class ABRecord : INativeObject, IDisposable { public const int InvalidRecordId = -1; diff --git a/src/AddressBook/ABSource.cs b/src/AddressBook/ABSource.cs index f2a036fce3..1b1f71895c 100644 --- a/src/AddressBook/ABSource.cs +++ b/src/AddressBook/ABSource.cs @@ -39,6 +39,8 @@ using ObjCRuntime; namespace AddressBook { [Deprecated (PlatformName.iOS, 9, 0, message : "Use the 'Contacts' API instead.")] + [Introduced (PlatformName.MacCatalyst, 14, 0)] + [Deprecated (PlatformName.MacCatalyst, 14, 0, message : "Use the 'Contacts' API instead.")] public class ABSource : ABRecord { internal ABSource (IntPtr handle, bool owns) : base (handle, owns) diff --git a/src/AudioToolbox/AudioFile.cs b/src/AudioToolbox/AudioFile.cs index 5d9a985976..64d191d6db 100644 --- a/src/AudioToolbox/AudioFile.cs +++ b/src/AudioToolbox/AudioFile.cs @@ -64,7 +64,6 @@ namespace AudioToolbox { AMR = 0x616d7266, // amrf [NoWatch, iOS (11,0), Mac(10,13), TV (11,0)] FLAC = 0x666c6163, // flac - [Introduced (PlatformName.MacCatalyst, 13,0)] [NoWatch, iOS (13,0), Mac(10,15), TV (13,0)] LatmInLoas = 0x6c6f6173, // loas } @@ -215,7 +214,6 @@ namespace AudioToolbox { } } - [Introduced (PlatformName.MacCatalyst, 13,0)] [NoWatch, iOS (13,0), Mac (10,15), TV (13,0)] [StructLayout (LayoutKind.Sequential)] public struct AudioPacketRangeByteCountTranslation { @@ -224,7 +222,6 @@ namespace AudioToolbox { public long ByteCountUpperBound; } - [Introduced (PlatformName.MacCatalyst, 13,0)] [NoWatch, iOS (13,0), Mac (10,15), TV (13,0)] [StructLayout (LayoutKind.Sequential)] public struct AudioPacketRollDistanceTranslation { @@ -232,7 +229,6 @@ namespace AudioToolbox { public long RollDistance; } - [Introduced (PlatformName.MacCatalyst, 13,0)] [NoWatch, iOS (13,0), Mac (10,15), TV (13,0)] [StructLayout (LayoutKind.Sequential)] public struct AudioIndependentPacketTranslation { @@ -240,7 +236,6 @@ namespace AudioToolbox { public long IndependentlyDecodablePacket; } - [Introduced (PlatformName.MacCatalyst, 13,0)] [NoWatch, iOS (13,0), Mac (10,15), TV (13,0)] [StructLayout (LayoutKind.Sequential)] public struct AudioPacketDependencyInfoTranslation { diff --git a/src/AudioToolbox/AudioType.cs b/src/AudioToolbox/AudioType.cs index 0b14cf6bb9..317f898855 100644 --- a/src/AudioToolbox/AudioType.cs +++ b/src/AudioToolbox/AudioType.cs @@ -80,7 +80,6 @@ namespace AudioToolbox { AES3 = 0x61657333, // 'aes3' EnhancedAES3 = 0x65632d33, // 'ec-3' Flac = 0x666c6163, // 'flac' - [Introduced (PlatformName.MacCatalyst, 13,0)] [NoWatch, iOS (13,0), Mac(10,15), TV (13,0)] LatmInLoas = 0x6c6f6173, // 'loas' Opus = 0x6f707573, // 'opus' diff --git a/src/AudioToolbox/Enums.cs b/src/AudioToolbox/Enums.cs index 9436a2ee28..601acf3a30 100644 --- a/src/AudioToolbox/Enums.cs +++ b/src/AudioToolbox/Enums.cs @@ -4,7 +4,6 @@ using ObjCRuntime; namespace AudioToolbox { [Flags] - [Introduced (PlatformName.MacCatalyst, 13,0)] [NoWatch, TV (10, 0), Mac (10, 12), iOS (10, 0)] public enum AudioSettingsFlags : uint { diff --git a/src/AudioUnit/AudioComponent.cs b/src/AudioUnit/AudioComponent.cs index 1fef2a16ef..e853312373 100644 --- a/src/AudioUnit/AudioComponent.cs +++ b/src/AudioUnit/AudioComponent.cs @@ -340,10 +340,12 @@ namespace AudioUnit } [NoWatch, TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [DllImport (Constants.AudioUnitLibrary)] static extern unsafe IntPtr AudioComponentCopyIcon (IntPtr comp); [NoWatch, TV (14,0), iOS (14,0), Mac (11,0)] + [MacCatalyst (14,0)] public UIImage CopyIcon () { var ptr = AudioComponentCopyIcon (handle); @@ -367,11 +369,13 @@ namespace AudioUnit [iOS (7,0)] [Deprecated (PlatformName.iOS, 13,0)] + [MacCatalyst (14,0)] [DllImport(Constants.AudioUnitLibrary)] static extern double AudioComponentGetLastActiveTime (IntPtr comp); [iOS (7,0)] [Deprecated (PlatformName.iOS, 13,0, message: "Use 'AudioUnit' instead.")] + [MacCatalyst (14,0)][Deprecated (PlatformName.MacCatalyst, 14,0, message: "Use 'AudioUnit' instead.")] public double LastActiveTime { get { return AudioComponentGetLastActiveTime (handle); diff --git a/src/AudioUnit/AudioComponentDescription.cs b/src/AudioUnit/AudioComponentDescription.cs index cc6ae67855..952c0fa214 100644 --- a/src/AudioUnit/AudioComponentDescription.cs +++ b/src/AudioUnit/AudioComponentDescription.cs @@ -71,7 +71,6 @@ namespace AudioUnit System=0x73797320, // 'sys' #endif [Mac (10, 15)] - [Introduced (PlatformName.MacCatalyst, 13,0)] Remote=0x72696f63, // 'rioc' VoiceProcessingIO = 0x7670696f // 'vpio' } diff --git a/src/AudioUnit/AudioUnit.cs b/src/AudioUnit/AudioUnit.cs index be17cf2360..dc34b30010 100644 --- a/src/AudioUnit/AudioUnit.cs +++ b/src/AudioUnit/AudioUnit.cs @@ -665,11 +665,13 @@ namespace AudioUnit #if !MONOMAC [iOS (7,0)] [Deprecated (PlatformName.iOS, 13,0)] + [MacCatalyst (14,0)] [DllImport (Constants.AudioUnitLibrary)] static extern AudioComponentStatus AudioOutputUnitPublish (AudioComponentDescription inDesc, IntPtr /* CFStringRef */ inName, uint /* UInt32 */ inVersion, IntPtr /* AudioUnit */ inOutputUnit); [iOS (7,0)] [Deprecated (PlatformName.iOS, 13,0, message: "Use 'AudioUnit' instead.")] + [MacCatalyst (14,0)][Deprecated (PlatformName.MacCatalyst, 14,0, message: "Use 'AudioUnit' instead.")] public AudioComponentStatus AudioOutputUnitPublish (AudioComponentDescription description, string name, uint version = 1) { @@ -682,12 +684,14 @@ namespace AudioUnit } [iOS (7,0)] + [MacCatalyst (14,0)] [Deprecated (PlatformName.iOS, 13,0)] [DllImport (Constants.AudioUnitLibrary)] static extern IntPtr AudioOutputUnitGetHostIcon (IntPtr /* AudioUnit */ au, float /* float */ desiredPointSize); [iOS (7,0)] [Deprecated (PlatformName.iOS, 13,0, message: "Use 'AudioUnit' instead.")] + [MacCatalyst (14,0)][Deprecated (PlatformName.MacCatalyst, 14,0, message: "Use 'AudioUnit' instead.")] public UIKit.UIImage GetHostIcon (float desiredPointSize) { return new UIKit.UIImage (AudioOutputUnitGetHostIcon (handle, desiredPointSize)); diff --git a/src/CoreGraphics/CGColor.cs b/src/CoreGraphics/CGColor.cs index 0f42ad6124..e672670336 100644 --- a/src/CoreGraphics/CGColor.cs +++ b/src/CoreGraphics/CGColor.cs @@ -129,6 +129,7 @@ namespace CoreGraphics { } [iOS (14,0)][TV (14,0)][Watch (7,0)] + [MacCatalyst (14,0)] public CGColor (CGConstantColor color) { var constant = color.GetConstant (); @@ -316,10 +317,12 @@ namespace CoreGraphics { } [iOS (14,0)][TV (14,0)][Watch (7,0)][Mac (11,0)] + [MacCatalyst (14,0)] [DllImport(Constants.CoreGraphicsLibrary)] static extern /* CGColorRef */ IntPtr CGColorCreateGenericCMYK (nfloat cyan, nfloat magenta, nfloat yellow, nfloat black, nfloat alpha); [iOS (14,0)][TV (14,0)][Watch (7,0)][Mac (11,0)] + [MacCatalyst (14,0)] static public CGColor CreateCmyk (nfloat cyan, nfloat magenta, nfloat yellow, nfloat black, nfloat alpha) { var h = CGColorCreateGenericCMYK (cyan, magenta, yellow, black, alpha); @@ -327,10 +330,12 @@ namespace CoreGraphics { } [iOS (14,0)][TV (14,0)][Watch (7,0)][Mac (11,0)] + [MacCatalyst (14,0)] [DllImport (Constants.AccessibilityLibrary)] static extern /* NSString */ IntPtr AXNameFromColor (/* CGColorRef */ IntPtr color); [iOS (14,0)][TV (14,0)][Watch (7,0)][Mac (11,0)] + [MacCatalyst (14,0)] public string AXName => NSString.FromHandle (AXNameFromColor (handle)); diff --git a/src/CoreGraphics/CGColorSpace.cs b/src/CoreGraphics/CGColorSpace.cs index 28e5c7f7a6..5171d0d63f 100644 --- a/src/CoreGraphics/CGColorSpace.cs +++ b/src/CoreGraphics/CGColorSpace.cs @@ -605,11 +605,13 @@ namespace CoreGraphics { } [iOS (14,0)][TV (14,0)][Watch (7,0)][Mac (11,0)] + [MacCatalyst (14,0)] [DllImport (Constants.CoreGraphicsLibrary)] [return: MarshalAs (UnmanagedType.I1)] static extern bool CGColorSpaceUsesExtendedRange (/* CGColorSpaceRef */ IntPtr space); [iOS (14,0)][TV (14,0)][Watch (7,0)][Mac (11,0)] + [MacCatalyst (14,0)] public bool UsesExtendedRange { get { return CGColorSpaceUsesExtendedRange (handle); @@ -617,32 +619,40 @@ namespace CoreGraphics { } [iOS (14,1), TV (14,2), Watch (7,1), Mac (11,0)] + [MacCatalyst (14,0)] [DllImport (Constants.CoreGraphicsLibrary)] [return: MarshalAs (UnmanagedType.I1)] static extern bool CGColorSpaceUsesITUR_2100TF (/* CGColorSpaceRef */ IntPtr space); [iOS (14,1), TV (14,2), Watch (7,1), Mac (11,0)] + [MacCatalyst (14,0)] public bool UsesItur2100TF => CGColorSpaceUsesITUR_2100TF (handle); [iOS (14,1), TV (14,2), Watch (7,1), Mac (11,0)] + [MacCatalyst (14,0)] [DllImport (Constants.CoreGraphicsLibrary)] static extern IntPtr CGColorSpaceCreateLinearized (/* CGColorSpaceRef */ IntPtr space); [iOS (14,1), TV (14,2), Watch (7,1), Mac (11,0)] + [MacCatalyst (14,0)] public CGColorSpace CreateLinearized () => Runtime.GetINativeObject (CGColorSpaceCreateLinearized (handle), owns: true); [iOS (14,1), TV (14,2), Watch (7,1), Mac (11,0)] + [MacCatalyst (14,0)] [DllImport (Constants.CoreGraphicsLibrary)] static extern IntPtr CGColorSpaceCreateExtended (/* CGColorSpaceRef */ IntPtr space); [iOS (14,1), TV (14,2), Watch (7,1), Mac (11,0)] + [MacCatalyst (14,0)] public CGColorSpace CreateExtended () => Runtime.GetINativeObject (CGColorSpaceCreateExtended (handle), owns: true); [iOS (14,1), TV (14,2), Watch (7,1), Mac (11,0)] + [MacCatalyst (14,0)] [DllImport (Constants.CoreGraphicsLibrary)] static extern IntPtr CGColorSpaceCreateExtendedLinearized (/* CGColorSpaceRef */ IntPtr space); [iOS (14,1), TV (14,2), Watch (7,1), Mac (11,0)] + [MacCatalyst (14,0)] public CGColorSpace CreateExtendedLinearized () => Runtime.GetINativeObject (CGColorSpaceCreateExtendedLinearized (handle), owns: true); #endif // !COREBUILD diff --git a/src/CoreVideo/CVPixelBufferAttributes.cs b/src/CoreVideo/CVPixelBufferAttributes.cs index d70f9402f4..0adbb45be0 100644 --- a/src/CoreVideo/CVPixelBufferAttributes.cs +++ b/src/CoreVideo/CVPixelBufferAttributes.cs @@ -187,6 +187,7 @@ namespace CoreVideo { } #if !WATCH +#if !__MACCATALYST__ public bool? OpenGLESCompatibility { set { SetBooleanValue (CVPixelBuffer.OpenGLESCompatibilityKey, value); @@ -195,6 +196,7 @@ namespace CoreVideo { return GetBoolValue (CVPixelBuffer.OpenGLESCompatibilityKey); } } +#endif [iOS (8,0)] public bool? MetalCompatibility { diff --git a/src/GameplayKit/GKCompat.cs b/src/GameplayKit/GKCompat.cs index 2530d0d8d4..c2a20c3e05 100644 --- a/src/GameplayKit/GKCompat.cs +++ b/src/GameplayKit/GKCompat.cs @@ -5,7 +5,7 @@ using Foundation; using ObjCRuntime; using OpenTK; -#if !XAMCORE_4_0 && !MONOMAC +#if !XAMCORE_4_0 && !MONOMAC && !__MACCATALYST__ namespace GameplayKit { diff --git a/src/LocalAuthentication/LAEnums.cs b/src/LocalAuthentication/LAEnums.cs index 26d2e047e6..b74b5226cc 100644 --- a/src/LocalAuthentication/LAEnums.cs +++ b/src/LocalAuthentication/LAEnums.cs @@ -11,9 +11,9 @@ namespace LocalAuthentication { [Mac (10,12,2)] DeviceOwnerAuthenticationWithBiometrics = 1, DeviceOwnerAuthentication = 2, - [NoiOS][Mac (10,15)][Introduced (PlatformName.MacCatalyst, 13,0)] + [NoiOS][Mac (10,15)] DeviceOwnerAuthenticationWithWatch = 3, - [NoiOS][Mac (10,15)][Introduced (PlatformName.MacCatalyst, 13,0)] + [NoiOS][Mac (10,15)] OwnerAuthenticationWithBiometricsOrWatch = 4, } diff --git a/src/MediaPlayer/MediaPlayer.cs b/src/MediaPlayer/MediaPlayer.cs index 3143f80e57..b8a1479087 100644 --- a/src/MediaPlayer/MediaPlayer.cs +++ b/src/MediaPlayer/MediaPlayer.cs @@ -321,7 +321,6 @@ namespace MediaPlayer { [NoTV] [NoWatch] [iOS (9,3)] - [MacCatalyst (13, 0)] [Native] public enum MPMediaLibraryAuthorizationStatus : long { NotDetermined = 0, @@ -334,7 +333,6 @@ namespace MediaPlayer { [iOS (10,0)] [TV (10,0)] [Watch (5,0)] - [MacCatalyst (13, 0)] [Native] public enum MPNowPlayingInfoMediaType : ulong { @@ -347,7 +345,6 @@ namespace MediaPlayer { [Watch (5,0)] [iOS (11, 0)] [TV (11, 0)] - [MacCatalyst (13, 0)] [Native] public enum MPNowPlayingPlaybackState : ulong { diff --git a/src/MetalPerformanceShaders/MPSDefs.cs b/src/MetalPerformanceShaders/MPSDefs.cs index 33b7897aec..93c6afd9c9 100644 --- a/src/MetalPerformanceShaders/MPSDefs.cs +++ b/src/MetalPerformanceShaders/MPSDefs.cs @@ -36,7 +36,6 @@ namespace MetalPerformanceShaders { // uses NSUInteger [iOS (13,0), TV (13,0), Mac (10,15)] - [Introduced (PlatformName.MacCatalyst, 13, 0)] public struct MPSDimensionSlice { public nuint Start; public nuint Length; @@ -167,7 +166,6 @@ namespace MetalPerformanceShaders { } [iOS (11,2), TV (11,2), Mac (10,13,2)] - [Introduced (PlatformName.MacCatalyst, 13, 0)] [StructLayout (LayoutKind.Sequential)] public struct MPSMatrixOffset { diff --git a/src/MetalPerformanceShaders/MPSImageBatch.cs b/src/MetalPerformanceShaders/MPSImageBatch.cs index 483cf358a4..570552d3e7 100644 --- a/src/MetalPerformanceShaders/MPSImageBatch.cs +++ b/src/MetalPerformanceShaders/MPSImageBatch.cs @@ -14,7 +14,7 @@ using Foundation; using Metal; namespace MetalPerformanceShaders { - [iOS (11,3), TV (11,3), Mac (10,13,4)][Introduced (PlatformName.MacCatalyst, 13, 0)] + [iOS (11,3), TV (11,3), Mac (10,13,4)] public static partial class MPSImageBatch { [DllImport (Constants.MetalPerformanceShadersLibrary)] @@ -58,11 +58,11 @@ namespace MetalPerformanceShaders { } // TODO: Disabled due to 'MPSImageBatchIterate' is not in the native library rdar://47282304. - //[iOS (12,0), TV (12,0), Mac (10,14)][Introduced (PlatformName.MacCatalyst, 13, 0)] + //[iOS (12,0), TV (12,0), Mac (10,14)] //[DllImport (Constants.MetalPerformanceShadersLibrary)] //static extern nint MPSImageBatchIterate (IntPtr batch, IntPtr iterator); - //[iOS (12,0), TV (12,0), Mac (10,14)][Introduced (PlatformName.MacCatalyst, 13, 0)] + //[iOS (12,0), TV (12,0), Mac (10,14)] //public delegate nint MPSImageBatchIterator (MPSImage image, nuint index); //[UnmanagedFunctionPointer (CallingConvention.Cdecl)] @@ -85,7 +85,7 @@ namespace MetalPerformanceShaders { // } //} - //[iOS (12,0), TV (12,0), Mac (10,14)][Introduced (PlatformName.MacCatalyst, 13, 0)] + //[iOS (12,0), TV (12,0), Mac (10,14)] //[BindingImpl (BindingImplOptions.Optimizable)] //public static nint Iterate (NSArray imageBatch, MPSImageBatchIterator iterator) //{ diff --git a/src/MetalPerformanceShaders/MPSNNGraph.cs b/src/MetalPerformanceShaders/MPSNNGraph.cs index 45b29d7065..f51e8d0dae 100644 --- a/src/MetalPerformanceShaders/MPSNNGraph.cs +++ b/src/MetalPerformanceShaders/MPSNNGraph.cs @@ -7,7 +7,6 @@ using ObjCRuntime; namespace MetalPerformanceShaders { public partial class MPSNNGraph { - [Introduced (PlatformName.MacCatalyst, 13, 0)] [TV (13,0), Mac (10,15), iOS (13,0)] public unsafe static MPSNNGraph Create (IMTLDevice device, MPSNNImageNode[] resultImages, bool[] resultsAreNeeded) { diff --git a/src/MetalPerformanceShaders/MPSStateBatch.cs b/src/MetalPerformanceShaders/MPSStateBatch.cs index c633dc9fb5..444e46f549 100644 --- a/src/MetalPerformanceShaders/MPSStateBatch.cs +++ b/src/MetalPerformanceShaders/MPSStateBatch.cs @@ -14,7 +14,6 @@ using Foundation; using Metal; namespace MetalPerformanceShaders { - [Introduced (PlatformName.MacCatalyst, 13, 0)] [iOS (11,3), TV (11,3), Mac (10,13,4)] public static partial class MPSStateBatch { diff --git a/src/NaturalLanguage/NLModel.cs b/src/NaturalLanguage/NLModel.cs index 107ed871c4..d8fbcac419 100644 --- a/src/NaturalLanguage/NLModel.cs +++ b/src/NaturalLanguage/NLModel.cs @@ -2,17 +2,22 @@ using System; using System.Collections.Generic; using Foundation; +using ObjCRuntime; namespace NaturalLanguage { public partial class NLModel { + [Watch (7,0), TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] public Dictionary GetPredictedLabelHypotheses (string @string, nuint maximumCount) { using (var hypo = GetNativePredictedLabelHypotheses (@string, maximumCount)) return NLLanguageExtensions.Convert (hypo); } + [Watch (7,0), TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] public Dictionary[] GetPredictedLabelHypotheses (string[] tokens, nuint maximumCount) { var hypos = GetNativePredictedLabelHypotheses (tokens, maximumCount); diff --git a/src/Network/NWConnectionGroup.cs b/src/Network/NWConnectionGroup.cs index ca6ea9834a..757c04414b 100644 --- a/src/Network/NWConnectionGroup.cs +++ b/src/Network/NWConnectionGroup.cs @@ -16,12 +16,15 @@ using OS_nw_endpoint=System.IntPtr; namespace Network { [TV (14,0), Mac (11,0), iOS (14,0), Watch (7,0)] + [MacCatalyst (14,0)] public delegate void NWConnectionGroupReceiveDelegate (DispatchData content, NWContentContext context, bool isCompleted); [TV (14,0), Mac (11,0), iOS (14,0), Watch (7,0)] + [MacCatalyst (14,0)] public delegate void NWConnectionGroupStateChangedDelegate (NWConnectionGroupState state, NWError? error); [TV (14,0), Mac (11,0), iOS (14,0), Watch (7,0)] + [MacCatalyst (14,0)] public class NWConnectionGroup : NativeObject { protected NWConnectionGroup (IntPtr handle, bool owns) : base (handle, owns) {} diff --git a/src/Network/NWEnums.cs b/src/Network/NWEnums.cs index 9377750f47..bbd7a27372 100644 --- a/src/Network/NWEnums.cs +++ b/src/Network/NWEnums.cs @@ -52,6 +52,7 @@ namespace Network { } [TV (14,0), Mac (11,0), iOS (14,0), Watch (7,0)] + [MacCatalyst (14,0)] public enum NWConnectionGroupState { Invalid = 0, Waiting = 1, diff --git a/src/Network/NWMulticastGroup.cs b/src/Network/NWMulticastGroup.cs index 63acb7609b..6f9afddf7c 100644 --- a/src/Network/NWMulticastGroup.cs +++ b/src/Network/NWMulticastGroup.cs @@ -11,6 +11,7 @@ using OS_nw_endpoint=System.IntPtr; namespace Network { [TV (14,0), Mac (11,0), iOS (14,0), Watch (7,0)] + [MacCatalyst (14,0)] public class NWMulticastGroup : NativeObject { internal NWMulticastGroup (IntPtr handle, bool owns) : base (handle, owns) {} diff --git a/src/Network/NWPath.cs b/src/Network/NWPath.cs index 49fac6810a..1021784f16 100644 --- a/src/Network/NWPath.cs +++ b/src/Network/NWPath.cs @@ -167,10 +167,12 @@ namespace Network { } [iOS (14,2)][TV (14,2)][Watch (7,1)][Mac (11,0)] + [MacCatalyst (14,2)] [DllImport (Constants.NetworkLibrary)] static extern NWPathUnsatisfiedReason /* nw_path_unsatisfied_reason_t */ nw_path_get_unsatisfied_reason (IntPtr /* OS_nw_path */ path); [iOS (14,2)][TV (14,2)][Watch (7,1)][Mac (11,0)] + [MacCatalyst (14,2)] public NWPathUnsatisfiedReason GetUnsatisfiedReason () { return nw_path_get_unsatisfied_reason (GetCheckedHandle ()); diff --git a/src/Security/Trust.cs b/src/Security/Trust.cs index d75288dd74..6af47914f1 100644 --- a/src/Security/Trust.cs +++ b/src/Security/Trust.cs @@ -196,6 +196,7 @@ namespace Security { [TV (14,0)] [Watch (7,0)] [Mac (11,0)] + [MacCatalyst (14,0)] [DllImport (Constants.SecurityLibrary)] extern static IntPtr /* SecKeyRef */ SecTrustCopyKey (IntPtr /* SecTrustRef */ trust); @@ -203,6 +204,7 @@ namespace Security { [TV (14,0)] [Watch (7,0)] [Mac (11,0)] + [MacCatalyst (14,0)] public SecKey GetKey () { if (handle == IntPtr.Zero) diff --git a/src/SensorKit/SRAbsoluteTime.cs b/src/SensorKit/SRAbsoluteTime.cs index 4c3e9610c5..16c25f36bf 100644 --- a/src/SensorKit/SRAbsoluteTime.cs +++ b/src/SensorKit/SRAbsoluteTime.cs @@ -8,6 +8,7 @@ namespace SensorKit { [NoWatch, NoTV, NoMac] [iOS (14,0)] + [MacCatalyst (14,0)] public static class SRAbsoluteTime { [DllImport (Constants.SensorKitLibrary, EntryPoint = "SRAbsoluteTimeGetCurrent")] diff --git a/src/UIKit/Compat.cs b/src/UIKit/Compat.cs index 265861bfc8..6c3f7ea303 100644 --- a/src/UIKit/Compat.cs +++ b/src/UIKit/Compat.cs @@ -60,6 +60,14 @@ namespace UIKit { return GetLocationInCoordinateSpace ((IUICoordinateSpace) coordinateSpace); } } + + public partial class UIMarkupTextPrintFormatter { + + [Obsolete ("Use '.ctor(string)' instead.")] + public UIMarkupTextPrintFormatter () + { + } + } #endif #endif diff --git a/src/UIKit/UIAccessibility.cs b/src/UIKit/UIAccessibility.cs index d6abb68da1..70fc5aa024 100644 --- a/src/UIKit/UIAccessibility.cs +++ b/src/UIKit/UIAccessibility.cs @@ -302,11 +302,13 @@ namespace UIKit { } [TV (14,0), iOS (14,0)] + [MacCatalyst (14,0)] [DllImport (Constants.UIKitLibrary)] [return: MarshalAs (UnmanagedType.I1)] static extern bool UIAccessibilityButtonShapesEnabled (); [TV (14,0), iOS (14,0)] + [MacCatalyst (14,0)] public static bool ButtonShapesEnabled => UIAccessibilityButtonShapesEnabled (); #if !NET @@ -342,11 +344,13 @@ namespace UIKit { } [TV (14,0), iOS (14,0)] + [MacCatalyst (14,0)] [DllImport (Constants.UIKitLibrary)] [return: MarshalAs (UnmanagedType.I1)] static extern bool UIAccessibilityPrefersCrossFadeTransitions (); [TV (14,0), iOS (14,0)] + [MacCatalyst (14,0)] public static bool PrefersCrossFadeTransitions => UIAccessibilityPrefersCrossFadeTransitions (); [iOS (13,0), TV (13,0)] diff --git a/src/UIKit/UIEnums.cs b/src/UIKit/UIEnums.cs index 055efe510e..95101b3e75 100644 --- a/src/UIKit/UIEnums.cs +++ b/src/UIKit/UIEnums.cs @@ -2568,6 +2568,7 @@ namespace UIKit { Root, [iOS (14,0), TV (14,0)] + [MacCatalyst (14,0)] [Field ("UIMenuOpenRecent")] OpenRecent, } @@ -3078,6 +3079,7 @@ namespace UIKit { } [iOS (14,0), TV (14,0), NoWatch] + [MacCatalyst (14,0)] public enum UIPasteboardDetectionPattern { [Field ("UIPasteboardDetectionPatternProbableWebURL")] ProbableWebUrl, @@ -3087,7 +3089,7 @@ namespace UIKit { Number, } - [Introduced (PlatformName.MacCatalyst, 10, 14)] + [Introduced (PlatformName.MacCatalyst, 14, 0)] [NoWatch, NoTV, NoiOS] [Native] public enum UISceneCollectionJoinBehavior : long { diff --git a/src/UIKit/UISearchDisplayController.cs b/src/UIKit/UISearchDisplayController.cs index ff1ac83cb1..aa5e2a5f02 100644 --- a/src/UIKit/UISearchDisplayController.cs +++ b/src/UIKit/UISearchDisplayController.cs @@ -1,4 +1,4 @@ -#if !TVOS && !WATCH // __TVOS_PROHIBITED, doesn't show up in WatchOS headers +#if !TVOS && !WATCH && !__MACCATALYST__ // __TVOS_PROHIBITED, doesn't show up in WatchOS headers using System; using System.Drawing; using System.Runtime.InteropServices; @@ -29,4 +29,4 @@ namespace UIKit { } } -#endif // !TVOS && !WATCH +#endif // !TVOS && !WATCH && !__MACCATALYST__ diff --git a/src/VideoToolbox/VTDefs.cs b/src/VideoToolbox/VTDefs.cs index 5b9b9f1071..d35cef42dc 100644 --- a/src/VideoToolbox/VTDefs.cs +++ b/src/VideoToolbox/VTDefs.cs @@ -259,6 +259,7 @@ namespace VideoToolbox { } [Watch (7, 0), TV (14, 0), Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] public enum HdrMetadataInsertionMode { [Field ("kVTHDRMetadataInsertionMode_None")] None, diff --git a/src/Vision/VNUtils.cs b/src/Vision/VNUtils.cs index 54cab0b991..aec93f67e4 100644 --- a/src/Vision/VNUtils.cs +++ b/src/Vision/VNUtils.cs @@ -31,6 +31,7 @@ namespace Vision { public static extern CGPoint GetImagePoint (CGPoint normalizedPoint, nuint imageWidth, nuint imageHeight); [TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [DllImport (Constants.VisionLibrary, EntryPoint = "VNNormalizedPointForImagePoint")] public static extern CGPoint GetNormalizedPoint (CGPoint imagePoint, nuint imageWidth, nuint imageHeight); diff --git a/src/accessibility.cs b/src/accessibility.cs index e277ac4a67..fd24732704 100644 --- a/src/accessibility.cs +++ b/src/accessibility.cs @@ -5,6 +5,7 @@ using ObjCRuntime; namespace Accessibility { [Watch (7, 0), TV (14, 0), Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [Native] public enum AXCustomContentImportance : ulong { @@ -13,6 +14,7 @@ namespace Accessibility { } [Watch (7, 0), TV (14, 0), Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface AXCustomContent : NSCopying, NSSecureCoding @@ -42,6 +44,7 @@ namespace Accessibility { } [Watch (7, 0), TV (14, 0), Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [Protocol] interface AXCustomContentProvider { diff --git a/src/adservices.cs b/src/adservices.cs index bd08508446..463aa2c192 100644 --- a/src/adservices.cs +++ b/src/adservices.cs @@ -5,6 +5,7 @@ using System; namespace AdServices { [Mac (11,1), iOS (14,3)] + [MacCatalyst (14,3)] [NoTV][NoWatch] [Native] [ErrorDomain ("AAAttributionErrorDomain")] @@ -15,6 +16,7 @@ namespace AdServices { } [Mac (11,1), iOS (14,3)] + [MacCatalyst (14,3)] [NoTV][NoWatch] [BaseType (typeof (NSObject))] [DisableDefaultCtor] diff --git a/src/audiounit.cs b/src/audiounit.cs index b6e9f1bde0..e9549d55b1 100644 --- a/src/audiounit.cs +++ b/src/audiounit.cs @@ -173,7 +173,6 @@ namespace AudioUnit { AUParameterTree ParameterTree { get; - [Introduced (PlatformName.MacCatalyst, 13,0)] [Watch (6, 0), TV (13, 0), Mac (10, 15), iOS (13, 0)] set; } @@ -278,33 +277,28 @@ namespace AudioUnit { #endif - [Introduced (PlatformName.MacCatalyst, 13,0)] [Watch (6, 0), TV (13, 0), Mac (10, 15), iOS (13, 0)] [Export ("userPresets", ArgumentSemantic.Copy)] AUAudioUnitPreset[] UserPresets { get; } - [Introduced (PlatformName.MacCatalyst, 13,0)] [Watch (6,0), TV (13,0), Mac (10,15), iOS (13,0)] [Export ("saveUserPreset:error:")] bool SaveUserPreset (AUAudioUnitPreset userPreset, [NullAllowed] out NSError outError); - [Introduced (PlatformName.MacCatalyst, 13,0)] [Watch (6,0), TV (13,0), Mac (10,15), iOS (13,0)] [Export ("deleteUserPreset:error:")] bool DeleteUserPreset (AUAudioUnitPreset userPreset, [NullAllowed] out NSError outError); - [Introduced (PlatformName.MacCatalyst, 13,0)] [Watch (6,0), TV (13,0), Mac (10,15), iOS (13,0)] [Export ("presetStateFor:error:")] [return: NullAllowed] NSDictionary GetPresetState (AUAudioUnitPreset userPreset, [NullAllowed] out NSError outError); - [Introduced (PlatformName.MacCatalyst, 13,0)] [Watch (6, 0), TV (13, 0), Mac (10, 15), iOS (13, 0)] [Export ("supportsUserPresets")] bool SupportsUserPresets { get; } - [Introduced (PlatformName.MacCatalyst, 13,0)] + [Introduced (PlatformName.MacCatalyst, 13, 0)] // needed since it's not in iOS [NoWatch, NoTV, NoiOS, Mac (10, 15)] [Export ("isLoadedInProcess")] bool IsLoadedInProcess { get; } diff --git a/src/authenticationservices.cs b/src/authenticationservices.cs index 12923caa26..72e704b1b7 100644 --- a/src/authenticationservices.cs +++ b/src/authenticationservices.cs @@ -76,7 +76,6 @@ namespace AuthenticationServices { [Watch (6,2)] [Mac (10,15)] [iOS (12,0)] - [Introduced (PlatformName.MacCatalyst, 13, 0)] [Native] [ErrorDomain ("ASWebAuthenticationSessionErrorDomain")] public enum ASWebAuthenticationSessionErrorCode : long { @@ -644,7 +643,6 @@ namespace AuthenticationServices { bool CanPerformAuthorization { get; } } - [Introduced (PlatformName.MacCatalyst, 13, 0)] [NoWatch, NoTV, Mac (10,15), iOS (13,0)] [BaseType (typeof (ASAuthorizationOpenIdRequest))] [DisableDefaultCtor] // NSInvalidArgumentException Reason: -[ASAuthorizationSingleSignOnRequest init]: unrecognized selector sent to instance 0x60000095aa60 @@ -707,8 +705,8 @@ namespace AuthenticationServices { interface IASWebAuthenticationSessionRequestDelegate { } - [Introduced (PlatformName.MacCatalyst, 13, 0)] [Mac (10,15)] + [Introduced (PlatformName.MacCatalyst, 13, 0)] [NoTV][NoiOS][NoWatch] [Protocol][Model (AutoGeneratedName = true)] [BaseType (typeof (NSObject))] @@ -737,8 +735,8 @@ namespace AuthenticationServices { void CancelWebAuthenticationSessionRequest (ASWebAuthenticationSessionRequest request); } - [Introduced (PlatformName.MacCatalyst, 13, 0)] [Mac (10,15)] + [Introduced (PlatformName.MacCatalyst, 13, 0)] [NoTV][NoiOS][NoWatch] [BaseType (typeof (NSObject))] [DisableDefaultCtor] diff --git a/src/avfoundation.cs b/src/avfoundation.cs index f755e66137..b89b6d8b4f 100644 --- a/src/avfoundation.cs +++ b/src/avfoundation.cs @@ -2373,10 +2373,12 @@ namespace AVFoundation { AVAudioStereoOrientation InputOrientation { get; } [Watch (7,4), TV (14,5), NoMac, iOS (14,5)] + [MacCatalyst (14,5)] [Export ("setPrefersNoInterruptionsFromSystemAlerts:error:")] bool SetPrefersNoInterruptionsFromSystemAlerts (bool inValue, [NullAllowed] out NSError outError); [Watch (7, 4), TV (14, 5), NoMac, iOS (14, 5)] + [MacCatalyst (14,5)] [Export ("prefersNoInterruptionsFromSystemAlerts")] bool PrefersNoInterruptionsFromSystemAlerts { get; } } @@ -3372,6 +3374,7 @@ namespace AVFoundation { void StopRequestingMediaData (); [TV (14,5), Watch (7,4), Mac (11,3), iOS (14,5)] + [MacCatalyst (14,5)] [Export ("hasSufficientMediaDataForReliablePlaybackStart")] bool HasSufficientMediaDataForReliablePlaybackStart { get; } } @@ -3444,10 +3447,12 @@ namespace AVFoundation { void SetRate (float rate, CMTime time); [Watch (7,4), TV (14,5), Mac (11,3), iOS (14,5)] + [MacCatalyst (14,5)] [Export ("setRate:time:atHostTime:")] void SetRate (float rate, CMTime time, CMTime hostTime); [Watch (7,4), TV (14,5), Mac (11,3), iOS (14,5)] + [MacCatalyst (14,5)] [Export ("delaysRateChangeUntilHasSufficientMediaData")] bool DelaysRateChangeUntilHasSufficientMediaData { get; set; } @@ -9318,6 +9323,7 @@ namespace AVFoundation { [NoTV] [iOS (8,0)] [BaseType (typeof (AVCaptureBracketedStillImageSettings))] + [DisableDefaultCtor] interface AVCaptureManualExposureBracketedStillImageSettings { [Export ("exposureDuration")] CMTime ExposureDuration { get; } @@ -9334,6 +9340,7 @@ namespace AVFoundation { [NoTV] [iOS (8,0)] [BaseType (typeof (AVCaptureBracketedStillImageSettings))] + [DisableDefaultCtor] interface AVCaptureAutoExposureBracketedStillImageSettings { [Export ("exposureTargetBias")] float ExposureTargetBias { get; } /* float, not CGFloat */ @@ -11164,6 +11171,7 @@ namespace AVFoundation { NSString WaitingWithNoItemToPlayReason { get; } [iOS (14, 5), TV (14, 5), Mac (11, 3)] + [MacCatalyst (14,5)] [Field ("AVPlayerWaitingDuringInterstitialEventReason")] NSString WaitingDuringInterstitialEventReason { get; } @@ -11669,6 +11677,7 @@ namespace AVFoundation { bool StartsOnFirstEligibleVariant { get; set; } [Watch (7, 4), TV (14, 5), Mac (11, 3), iOS (14, 5)] + [MacCatalyst (14,5)] [Export ("variantPreferences", ArgumentSemantic.Assign)] AVVariantPreferences VariantPreferences { get; set; } @@ -11680,6 +11689,7 @@ namespace AVFoundation { } [Watch (7,4), TV (14,5), Mac (11,3), iOS (14,5)] + [MacCatalyst (14,5)] [Flags] [Native] public enum AVVariantPreferences : ulong @@ -12395,6 +12405,7 @@ namespace AVFoundation { } [iOS (14,5), Mac (11,3), TV (14,5)] + [MacCatalyst (14,5)] [Flags] [Native] enum AVPlayerInterstitialEventRestrictions : ulong @@ -12406,6 +12417,7 @@ namespace AVFoundation { } [TV (14,5), Mac (11,3), iOS (14,5)] + [MacCatalyst (14,5)] [BaseType (typeof(NSObject))] [DisableDefaultCtor] interface AVPlayerInterstitialEvent @@ -12450,6 +12462,7 @@ namespace AVFoundation { [DisableDefaultCtor] [TV (14,5), Mac (11,3), iOS (14,5)] + [MacCatalyst (14,5)] [BaseType (typeof(NSObject))] interface AVPlayerInterstitialEventObserver { @@ -12491,6 +12504,7 @@ namespace AVFoundation { [DisableDefaultCtor] [TV (14,5), Mac (11,3), iOS (14,5)] + [MacCatalyst (14,5)] [BaseType (typeof(AVPlayerInterstitialEventObserver))] interface AVPlayerInterstitialEventController { @@ -12727,6 +12741,7 @@ namespace AVFoundation { NSString RequiresFlushToResumeDecodingDidChangeNotification { get; } [TV (14, 5), Watch (7, 4), Mac (11, 3), iOS (14, 5)] + [MacCatalyst (14,5)] [Field ("AVSampleBufferDisplayLayerOutputObscuredDueToInsufficientExternalProtectionDidChangeNotification")] [Notification] NSString OutputObscuredDueToInsufficientExternalProtectionDidChangeNotification { get; } @@ -13005,6 +13020,7 @@ namespace AVFoundation { AVUrlAsset UrlAsset { get; } [Availability (Deprecated = Platform.iOS_10_0)] + [NoMacCatalyst] [Export ("destinationURL")] NSUrl DestinationUrl { get; } @@ -13046,6 +13062,7 @@ namespace AVFoundation { NSString PrefersHdrKey { get; } [NoWatch, NoTV, Mac (11, 3), iOS (14, 5)] + [MacCatalyst (14,5)] [Field ("AVAssetDownloadTaskPrefersLosslessAudioKey")] NSString PrefersLosslessAudioKey { get; } @@ -13612,6 +13629,7 @@ namespace AVFoundation { [Protocol] interface AVContentKeyRecipient { [TV (14,5), Mac (11,3), iOS (14,5), Watch (7,4)] + [MacCatalyst (14,5)] [Export ("contentKeySession:didProvideContentKey:")] void DidProvideContentKey (AVContentKeySession contentKeySession, AVContentKey contentKey); @@ -13800,10 +13818,12 @@ namespace AVFoundation { NSString RequiresValidationDataInSecureTokenKey { get; } [Watch (7,4), TV (14,5), Mac (11,3), iOS (14,5)] + [MacCatalyst (14,5)] [Export ("contentKeySpecifier")] AVContentKeySpecifier ContentKeySpecifier { get; } [Watch (7,4), TV (14,5), Mac (11,3), iOS (14,5)] + [MacCatalyst (14,5)] [NullAllowed, Export ("contentKey")] AVContentKey ContentKey { get; } } @@ -13849,6 +13869,7 @@ namespace AVFoundation { } [TV (14,5), Mac (11,3), iOS (14,5), Watch (7,4)] + [MacCatalyst (14,5)] [BaseType (typeof(NSObject))] interface AVContentKeySpecifier { @@ -13871,6 +13892,7 @@ namespace AVFoundation { } [TV (14,5), Mac (11,3), iOS (14,5), Watch (7,4)] + [MacCatalyst (14,5)] [BaseType (typeof(NSObject))] interface AVContentKey { @@ -14180,6 +14202,7 @@ namespace AVFoundation { [Introduced (PlatformName.MacCatalyst, 14, 0)] [NoWatch, NoTV, NoMac, iOS (13,0)] + [MacCatalyst (14,0)] [BaseType (typeof(AVCaptureSession))] interface AVCaptureMultiCamSession { [Static] diff --git a/src/avkit.cs b/src/avkit.cs index 326eee80e2..22349dea9d 100644 --- a/src/avkit.cs +++ b/src/avkit.cs @@ -110,6 +110,7 @@ namespace AVKit { [iOS (14,2)] [NoWatch, NoTV, NoMac] + [NoMacCatalyst] [Export ("canStartPictureInPictureAutomaticallyFromInline")] bool CanStartPictureInPictureAutomaticallyFromInline { get; set; } } @@ -270,6 +271,7 @@ namespace AVKit { [iOS (14,2)] [NoWatch, NoTV] + [NoMacCatalyst] [Export ("canStartPictureInPictureAutomaticallyFromInline")] bool CanStartPictureInPictureAutomaticallyFromInline { get; set; } } diff --git a/src/callkit.cs b/src/callkit.cs index c79d1ba1bd..253b2a49f8 100644 --- a/src/callkit.cs +++ b/src/callkit.cs @@ -16,7 +16,6 @@ using ObjCRuntime; namespace CallKit { [iOS (10, 0), NoMac] - [Introduced (PlatformName.MacCatalyst, 13,0)] [Native] public enum CXCallDirectoryEnabledStatus : long { Unknown = 0, @@ -25,7 +24,6 @@ namespace CallKit { } [iOS (10, 0), Mac (11, 0)] - [Introduced (PlatformName.MacCatalyst, 13,0)] [ErrorDomain ("CXErrorDomain")] [Native] public enum CXErrorCode : long { @@ -36,7 +34,6 @@ namespace CallKit { } [iOS (10, 0), Mac (11, 0)] - [Introduced (PlatformName.MacCatalyst, 13,0)] [ErrorDomain ("CXErrorDomainIncomingCall")] [Native] public enum CXErrorCodeIncomingCallError : long { @@ -48,7 +45,6 @@ namespace CallKit { } [iOS (10, 0), Mac (11, 0)] - [Introduced (PlatformName.MacCatalyst, 13,0)] [ErrorDomain ("CXErrorDomainRequestTransaction")] [Native] public enum CXErrorCodeRequestTransactionError : long { @@ -63,7 +59,6 @@ namespace CallKit { } [iOS (10, 0), Mac (11, 0)] - [Introduced (PlatformName.MacCatalyst, 13,0)] [ErrorDomain ("CXErrorDomainCallDirectoryManager")] [Native] public enum CXErrorCodeCallDirectoryManagerError : long { @@ -90,7 +85,6 @@ namespace CallKit { } [iOS (10, 0), Mac (11, 0)] - [Introduced (PlatformName.MacCatalyst, 13,0)] [Native] public enum CXPlayDtmfCallActionType : long { SingleTone = 1, @@ -99,7 +93,6 @@ namespace CallKit { } [iOS (10, 0), Mac (11, 0)] - [Introduced (PlatformName.MacCatalyst, 13,0)] [Native] public enum CXCallEndedReason : long { Failed = 1, @@ -110,7 +103,6 @@ namespace CallKit { } [iOS (10, 0), Mac (11, 0)] - [Introduced (PlatformName.MacCatalyst, 13,0)] [Native] public enum CXHandleType : long { Generic = 1, @@ -119,7 +111,6 @@ namespace CallKit { } [iOS (10, 0), Mac (11, 0)] - [Introduced (PlatformName.MacCatalyst, 13,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface CXHandle : NSCopying, NSSecureCoding { @@ -139,7 +130,6 @@ namespace CallKit { } [iOS (10, 0), Mac (11, 0)] - [Introduced (PlatformName.MacCatalyst, 13,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] // designated interface CXAction : NSCopying, NSSecureCoding { @@ -165,7 +155,6 @@ namespace CallKit { } [iOS (10, 0), Mac (11, 0)] - [Introduced (PlatformName.MacCatalyst, 13,0)] [BaseType (typeof (CXCallAction))] [DisableDefaultCtor] interface CXAnswerCallAction { @@ -179,7 +168,6 @@ namespace CallKit { } [iOS (10, 0), Mac (11, 0)] - [Introduced (PlatformName.MacCatalyst, 13,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface CXCall { @@ -204,7 +192,6 @@ namespace CallKit { } [iOS (10, 0), Mac (11, 0)] - [Introduced (PlatformName.MacCatalyst, 13,0)] [BaseType (typeof (CXAction))] [DisableDefaultCtor] interface CXCallAction { @@ -218,7 +205,6 @@ namespace CallKit { } [iOS (10, 0), Mac (11, 0)] - [Introduced (PlatformName.MacCatalyst, 13,0)] [BaseType (typeof (NSObject))] interface CXCallController { @@ -245,7 +231,6 @@ namespace CallKit { } [iOS (10, 0), NoMac] - [Introduced (PlatformName.MacCatalyst, 13,0)] [BaseType (typeof (NSExtensionContext))] interface CXCallDirectoryExtensionContext { @@ -286,7 +271,6 @@ namespace CallKit { interface ICXCallDirectoryExtensionContextDelegate {} [iOS (10, 0), NoMac] - [Introduced (PlatformName.MacCatalyst, 13,0)] [Protocol][Model] [BaseType (typeof (NSObject))] interface CXCallDirectoryExtensionContextDelegate { @@ -297,7 +281,6 @@ namespace CallKit { } [iOS (10, 0), NoMac] - [Introduced (PlatformName.MacCatalyst, 13,0)] [BaseType (typeof (NSObject))] interface CXCallDirectoryManager { @@ -322,7 +305,6 @@ namespace CallKit { } [iOS (10, 0), NoMac] - [Introduced (PlatformName.MacCatalyst, 13,0)] [BaseType (typeof (NSObject))] interface CXCallDirectoryProvider : NSExtensionRequestHandling { @@ -331,7 +313,6 @@ namespace CallKit { interface ICXCallObserverDelegate { } [iOS (10, 0), Mac (11, 0)] - [Introduced (PlatformName.MacCatalyst, 13,0)] [Protocol, Model] [BaseType (typeof (NSObject))] interface CXCallObserverDelegate { @@ -342,7 +323,6 @@ namespace CallKit { } [iOS (10, 0), Mac (11, 0)] - [Introduced (PlatformName.MacCatalyst, 13,0)] [BaseType (typeof (NSObject))] interface CXCallObserver { @@ -354,7 +334,6 @@ namespace CallKit { } [iOS (10, 0), Mac (11, 0)] - [Introduced (PlatformName.MacCatalyst, 13,0)] [BaseType (typeof (NSObject))] interface CXCallUpdate : NSCopying { @@ -381,7 +360,6 @@ namespace CallKit { } [iOS (10, 0), Mac (11, 0)] - [Introduced (PlatformName.MacCatalyst, 13,0)] [DisableDefaultCtor] [BaseType (typeof (CXCallAction))] interface CXEndCallAction { @@ -395,7 +373,6 @@ namespace CallKit { } [iOS (10, 0), Mac (11, 0)] - [Introduced (PlatformName.MacCatalyst, 13,0)] [DisableDefaultCtor] [BaseType (typeof (CXCallAction), Name = "CXPlayDTMFCallAction")] interface CXPlayDtmfCallAction { @@ -415,7 +392,6 @@ namespace CallKit { [Protocol, Model] [iOS (10, 0), Mac (11, 0)] - [Introduced (PlatformName.MacCatalyst, 13,0)] [BaseType (typeof (NSObject))] interface CXProviderDelegate { @@ -463,7 +439,6 @@ namespace CallKit { } [iOS (10, 0)] - [Introduced (PlatformName.MacCatalyst, 13,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface CXProvider { @@ -511,7 +486,6 @@ namespace CallKit { } [iOS (10, 0), Mac (11, 0)] - [Introduced (PlatformName.MacCatalyst, 13,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface CXProviderConfiguration : NSCopying { @@ -546,17 +520,18 @@ namespace CallKit { [NoMac] // deprecated and was never added to Mac OS X before [Deprecated (PlatformName.iOS, 14, 0, message: "Use the default constructor instead.")] + [Deprecated (PlatformName.MacCatalyst, 14, 0, message: "Use the default constructor instead.")] [Export ("initWithLocalizedName:")] IntPtr Constructor (string localizedName); [iOS (14, 0)] + [MacCatalyst (14,0)] [DesignatedInitializer] [Export ("init")] IntPtr Constructor (); } [iOS (10, 0), Mac (11, 0)] - [Introduced (PlatformName.MacCatalyst, 13,0)] [BaseType (typeof (CXCallAction))] [DisableDefaultCtor] interface CXSetGroupCallAction { @@ -570,7 +545,6 @@ namespace CallKit { } [iOS (10, 0), Mac (11, 0)] - [Introduced (PlatformName.MacCatalyst, 13,0)] [DisableDefaultCtor] [BaseType (typeof (CXCallAction))] interface CXSetHeldCallAction { @@ -584,7 +558,6 @@ namespace CallKit { } [iOS (10, 0), Mac (11, 0)] - [Introduced (PlatformName.MacCatalyst, 13,0)] [BaseType (typeof (CXCallAction))] [DisableDefaultCtor] interface CXSetMutedCallAction { @@ -598,7 +571,6 @@ namespace CallKit { } [iOS (10, 0), Mac (11, 0)] - [Introduced (PlatformName.MacCatalyst, 13,0)] [DisableDefaultCtor] [BaseType (typeof (CXCallAction))] interface CXStartCallAction { @@ -623,7 +595,6 @@ namespace CallKit { } [iOS (10, 0), Mac (11, 0)] - [Introduced (PlatformName.MacCatalyst, 13,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] // there's a designated initializer that does not accept null interface CXTransaction : NSCopying, NSSecureCoding { diff --git a/src/cfnetwork.cs b/src/cfnetwork.cs index 36578a40c6..bb52484f06 100644 --- a/src/cfnetwork.cs +++ b/src/cfnetwork.cs @@ -68,6 +68,7 @@ namespace CoreServices { IntPtr _HTTPVersion2_0 { get; } [Mac (11, 0), iOS (14,0), TV (14, 0)] + [MacCatalyst (14,0)] [Internal][Field ("kCFHTTPVersion3_0", "CFNetwork")] IntPtr _HTTPVersion3_0 { get; } diff --git a/src/classkit.cs b/src/classkit.cs index 6972c734f0..d17c389bc0 100644 --- a/src/classkit.cs +++ b/src/classkit.cs @@ -277,37 +277,30 @@ namespace ClassKit { [Export ("resignActive")] void ResignActive (); - [Introduced (PlatformName.MacCatalyst, 14, 0)] [iOS (14, 0)] [Export ("assignable")] bool Assignable { [Bind ("isAssignable")] get; set; } - [Introduced (PlatformName.MacCatalyst, 14, 0)] [iOS (14, 0)] [Export ("suggestedAge", ArgumentSemantic.Assign)] NSRange SuggestedAge { get; set; } - [Introduced (PlatformName.MacCatalyst, 14, 0)] [iOS (14, 0)] [Export ("suggestedCompletionTime", ArgumentSemantic.Assign)] NSRange SuggestedCompletionTime { get; set; } - [Introduced (PlatformName.MacCatalyst, 14, 0)] [iOS (14, 0)] [Export ("progressReportingCapabilities", ArgumentSemantic.Copy)] NSSet ProgressReportingCapabilities { get; } - [Introduced (PlatformName.MacCatalyst, 14, 0)] [iOS (14, 0)] [Export ("setType:")] void SetType (CLSContextType type); - [Introduced (PlatformName.MacCatalyst, 14, 0)] [iOS (14, 0)] [Export ("addProgressReportingCapabilities:")] void AddProgressReportingCapabilities (NSSet capabilities); - [Introduced (PlatformName.MacCatalyst, 14, 0)] [iOS (14, 0)] [Export ("resetProgressReportingCapabilities")] void ResetProgressReportingCapabilities (); diff --git a/src/cloudkit.cs b/src/cloudkit.cs index f1082c6eac..a9fa719f99 100644 --- a/src/cloudkit.cs +++ b/src/cloudkit.cs @@ -1615,6 +1615,7 @@ namespace CloudKit { [NoWatch] [Deprecated (PlatformName.iOS, 10,0, message: "Use 'CKRecordZoneSubscription'.")] [Deprecated (PlatformName.MacOSX, 10,12, message: "Use 'CKRecordZoneSubscription'.")] + [NoMacCatalyst] [NullAllowed] [Export ("zoneID", ArgumentSemantic.Copy)] CKRecordZoneID ZoneID { get; set; } diff --git a/src/contacts.cs b/src/contacts.cs index 2dfc1f6021..10be874f23 100644 --- a/src/contacts.cs +++ b/src/contacts.cs @@ -1259,10 +1259,12 @@ namespace Contacts { NSString SonInLawOrBrotherInLaw { get; } [iOS (14, 0), Mac (11, 0), Watch (7, 0)] + [MacCatalyst (14,0)] [Field ("CNLabelContactRelationGranddaughterOrNiece")] NSString GranddaughterOrNiece { get; } [iOS (14, 0), Mac (11, 0), Watch (7, 0)] + [MacCatalyst (14,0)] [Field ("CNLabelContactRelationGrandsonOrNephew")] NSString GrandsonOrNephew { get; } @@ -2078,6 +2080,7 @@ namespace Contacts { NSString iPhone { get; } [Watch (7,2), Mac (11,1), iOS (14,3)] + [MacCatalyst (14,3)] [Field ("CNLabelPhoneNumberAppleWatch")] NSString AppleWatch { get; } diff --git a/src/coredata.cs b/src/coredata.cs index 850370828f..c9e8eea340 100644 --- a/src/coredata.cs +++ b/src/coredata.cs @@ -2556,10 +2556,11 @@ namespace CoreData [DisableDefaultCtor] // NSInternalInconsistencyException Reason: -init results in undefined behavior for NSBatchInsertRequest interface NSBatchInsertRequest { - [Deprecated (PlatformName.iOS, 14,0, message: "Use 'no yet bound' instead.")] - [Deprecated (PlatformName.TvOS, 14,0, message: "Use 'no yet bound' instead.")] - [Deprecated (PlatformName.WatchOS, 7,0, message: "Use 'no yet bound' instead.")] - [Deprecated (PlatformName.MacOSX, 10,16, message: "Use 'no yet bound' instead.")] + [Deprecated (PlatformName.iOS, 14,0, message: "Use another constructor instead.")] + [Deprecated (PlatformName.TvOS, 14,0, message: "Use another constructor instead.")] + [Deprecated (PlatformName.WatchOS, 7,0, message: "Use another constructor instead.")] + [Deprecated (PlatformName.MacOSX, 10,16, message: "Use another constructor instead.")] + [NoMacCatalyst] [Export ("init")] IntPtr Constructor (); @@ -2695,6 +2696,7 @@ namespace CoreData } [Watch (7,0), TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof(NSObject))] [DisableDefaultCtor] interface NSPersistentCloudKitContainerEvent : NSCopying { @@ -2728,6 +2730,7 @@ namespace CoreData } [Watch (7,0), TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSPersistentStoreRequest))] interface NSPersistentCloudKitContainerEventRequest { [Export ("resultType", ArgumentSemantic.Assign)] @@ -2751,6 +2754,7 @@ namespace CoreData } [Watch (7,0), TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof(NSPersistentStoreResult))] [DisableDefaultCtor] interface NSPersistentCloudKitContainerEventResult { diff --git a/src/coregraphics.cs b/src/coregraphics.cs index 945ff4000c..c5f83e787f 100644 --- a/src/coregraphics.cs +++ b/src/coregraphics.cs @@ -78,10 +78,12 @@ namespace CoreGraphics { IntPtr kCGPDFContextAccessPermissions { get; } [Mac (11,0)][iOS (14,0)][TV (14,0)][Watch (7,0)] + [MacCatalyst (14,0)] [Internal][Field ("kCGPDFContextCreateLinearizedPDF")] IntPtr kCGPDFContextCreateLinearizedPDF { get; } [Mac (11,0)][iOS (14,0)][TV (14,0)][Watch (7,0)] + [MacCatalyst (14,0)] [Internal][Field ("kCGPDFContextCreatePDFA")] IntPtr kCGPDFContextCreatePDFA { get; } } @@ -209,6 +211,7 @@ namespace CoreGraphics { NSString ExtendedLinearItur_2020 { get; } [iOS (14,1), Mac (11,0), TV (14,2), Watch (7,1)] + [MacCatalyst (14,1)] [Field ("kCGColorSpaceExtendedITUR_2020")] NSString ExtendedItur_2020 { get; } @@ -218,6 +221,7 @@ namespace CoreGraphics { NSString ExtendedLinearDisplayP3 { get; } [iOS (14,1), Mac (11,0), TV (14,2), Watch (7,1)] + [MacCatalyst (14,1)] [Field ("kCGColorSpaceExtendedDisplayP3")] NSString ExtendedDisplayP3 { get; } @@ -266,10 +270,12 @@ namespace CoreGraphics { NSString Itur_2020_Hlg { get; } [iOS (14,0)][TV (14,0)][Watch (7,0)][Mac (11,0)] + [MacCatalyst (14,0)] [Field ("kCGColorSpaceITUR_2100_HLG")] NSString Itur_2100_Hlg { get; } [iOS (14,0)][TV (14,0)][Watch (7,0)][Mac (11,0)] + [MacCatalyst (14,0)] [Field ("kCGColorSpaceITUR_2100_PQ")] NSString Itur_2100_PQ { get; } } @@ -365,6 +371,7 @@ namespace CoreGraphics { // macOS 10.5 [iOS (14,0)][TV (14,0)][Watch (7,0)] + [MacCatalyst (14,0)] enum CGConstantColor { [Field ("kCGColorWhite")] White, diff --git a/src/coreimage.cs b/src/coreimage.cs index b6a8149729..f642992431 100644 --- a/src/coreimage.cs +++ b/src/coreimage.cs @@ -779,6 +779,7 @@ namespace CoreImage { NSString EnableEdrModeKey { get; } [iOS (14,3), TV (14,3), Mac (11,1)] + [MacCatalyst (14,3)] [Field ("kCIInputLocalToneMapAmountKey")] NSString InputLocalToneMapAmountKey { get; } @@ -1401,14 +1402,17 @@ namespace CoreImage { NSString AuxiliarySemanticSegmentationTeethMatteKey { get; } [iOS (14,1)][TV (14,2)][Mac (11,0)] + [MacCatalyst (14,1)] [Field ("kCIImageAuxiliarySemanticSegmentationGlassesMatte")] NSString AuxiliarySemanticSegmentationGlassesMatteKey { get; } [iOS (14,3), TV (14,3), Mac (11,1)] + [MacCatalyst (14,3)] [Field ("kCIImageAuxiliarySemanticSegmentationSkyMatte")] NSString AuxiliarySemanticSegmentationSkyMatteKey { get; } [iOS (14,1)][TV (14,2)][Mac (11,0)] + [MacCatalyst (14,1)] [Field ("kCIImageToneMapHDRtoSDR")] NSString ToneMapHdrToSdrKey { get; } @@ -2279,6 +2283,7 @@ namespace CoreImage { [iOS (14,0)] [TV (14,0)] [Mac (11,0)] + [MacCatalyst (14,0)] [Static] [Export ("kernelNamesFromMetalLibraryData:")] string[] GetKernelNamesFromMetalLibrary (NSData data); @@ -2902,6 +2907,7 @@ namespace CoreImage { [iOS (14,0)] [TV (14,0)] [Mac (11,0)] + [MacCatalyst (14,0)] [Protocol (Name="CIAreaAverage")] interface CIAreaAverageProtocol : CIFilterProtocol { } @@ -2922,6 +2928,7 @@ namespace CoreImage { [iOS (14,0)] [TV (14,0)] [Mac (11,0)] + [MacCatalyst (14,0)] [Protocol (Name="CIAreaReductionFilter")] interface CIAreaReductionFilterProtocol : CIFilterProtocol { @@ -2937,6 +2944,7 @@ namespace CoreImage { [iOS (14,0)] [TV (14,0)] [Mac (11,0)] + [MacCatalyst (14,0)] [Protocol (Name="CIAreaHistogram")] interface CIAreaHistogramProtocol : CIAreaReductionFilterProtocol { @@ -2991,6 +2999,7 @@ namespace CoreImage { [iOS (14,0)] [TV (14,0)] [Mac (11,0)] + [MacCatalyst (14,0)] [Protocol (Name="CIAreaMaximum")] interface CIAreaMaximumProtocol : CIAreaReductionFilterProtocol { } @@ -3004,6 +3013,7 @@ namespace CoreImage { [iOS (14,0)] [TV (14,0)] [Mac (11,0)] + [MacCatalyst (14,0)] [Protocol (Name="CIAreaMaximumAlpha")] interface CIAreaMaximumAlphaProtocol : CIAreaReductionFilterProtocol { } @@ -3017,6 +3027,7 @@ namespace CoreImage { [iOS (14,0)] [TV (14,0)] [Mac (11,0)] + [MacCatalyst (14,0)] [Protocol (Name="CIAreaMinimum")] interface CIAreaMinimumProtocol : CIAreaReductionFilterProtocol { } @@ -3030,6 +3041,7 @@ namespace CoreImage { [iOS (14,0)] [TV (14,0)] [Mac (11,0)] + [MacCatalyst (14,0)] [Protocol (Name="CIAreaMinimumAlpha")] interface CIAreaMinimumAlphaProtocol : CIAreaReductionFilterProtocol { } @@ -3139,6 +3151,7 @@ namespace CoreImage { [iOS (14,0)] [TV (14,0)] [Mac (11,0)] + [MacCatalyst (14,0)] [Protocol (Name = "CIBumpDistortion")] interface CIBumpDistortionProtocol : CIFilterProtocol { @@ -3167,6 +3180,7 @@ namespace CoreImage { [iOS (14,0)] [TV (14,0)] [Mac (11,0)] + [MacCatalyst (14,0)] [Protocol (Name = "CIBumpDistortionLinear")] interface CIBumpDistortionLinearProtocol : CIFilterProtocol { @@ -3210,6 +3224,7 @@ namespace CoreImage { [iOS (14,0)] [TV (14,0)] [Mac (11,0)] + [MacCatalyst (14,0)] [Protocol (Name = "CICircleSplashDistortion")] interface CICircleSplashDistortionProtocol : CIFilterProtocol { @@ -3260,6 +3275,7 @@ namespace CoreImage { [iOS (14,0)] [TV (14,0)] [Mac (11,0)] + [MacCatalyst (14,0)] [Protocol (Name = "CICircularWrap")] interface CICircularWrapProtocol : CIFilterProtocol { @@ -3424,6 +3440,7 @@ namespace CoreImage { [iOS (14,0)] [TV (14,0)] [Mac (11,0)] + [MacCatalyst (14,0)] [Protocol (Name = "CIColumnAverage")] interface CIColumnAverageProtocol : CIAreaReductionFilterProtocol { } @@ -3576,6 +3593,7 @@ namespace CoreImage { [iOS (14,0)] [TV (14,0)] [Mac (11,0)] + [MacCatalyst (14,0)] [Protocol (Name = "CIDisplacementDistortion")] interface CIDisplacementDistortionProtocol : CIFilterProtocol { @@ -3618,6 +3636,7 @@ namespace CoreImage { [iOS (14,0)] [TV (14,0)] [Mac (11,0)] + [MacCatalyst (14,0)] [Protocol (Name = "CIDroste")] interface CIDrosteProtocol : CIFilterProtocol { @@ -3783,6 +3802,7 @@ namespace CoreImage { [iOS (14,0)] [TV (14,0)] [Mac (11,0)] + [MacCatalyst (14,0)] [Protocol (Name = "CIGlassDistortion")] interface CIGlassDistortionProtocol : CIFilterProtocol { @@ -3818,6 +3838,7 @@ namespace CoreImage { [iOS (14,0)] [TV (14,0)] [Mac (11,0)] + [MacCatalyst (14,0)] [Protocol (Name = "CIGlassLozenge")] interface CIGlassLozengeProtocol : CIFilterProtocol { @@ -3904,6 +3925,7 @@ namespace CoreImage { [iOS (14,0)] [TV (14,0)] [Mac (11,0)] + [MacCatalyst (14,0)] [Protocol (Name = "CIHistogramDisplay")] interface CIHistogramDisplayProtocol : CIFilterProtocol { @@ -3946,6 +3968,7 @@ namespace CoreImage { [iOS (14,0)] [TV (14,0)] [Mac (11,0)] + [MacCatalyst (14,0)] [Protocol (Name = "CIHoleDistortion")] interface CIHoleDistortionProtocol : CIFilterProtocol { @@ -4018,6 +4041,7 @@ namespace CoreImage { [iOS (14,0)] [TV (14,0)] [Mac (11,0)] + [MacCatalyst (14,0)] [Protocol (Name = "CILightTunnel")] interface CILightTunnelProtocol : CIFilterProtocol { @@ -4381,6 +4405,7 @@ namespace CoreImage { [iOS (14,0)] [TV (14,0)] [Mac (11,0)] + [MacCatalyst (14,0)] [Protocol (Name = "CIPinchDistortion")] interface CIPinchDistortionProtocol : CIFilterProtocol { @@ -4481,6 +4506,7 @@ namespace CoreImage { [iOS (14,0)] [TV (14,0)] [Mac (11,0)] + [MacCatalyst (14,0)] [Protocol (Name="CIRowAverage")] interface CIRowAverageProtocol : CIAreaReductionFilterProtocol { } @@ -4610,6 +4636,7 @@ namespace CoreImage { [iOS (14,0)] [TV (14,0)] [Mac (11,0)] + [MacCatalyst (14,0)] [Protocol (Name = "CIStretchCrop")] interface CIStretchCropProtocol : CIFilterProtocol { @@ -4713,6 +4740,7 @@ namespace CoreImage { [iOS (14,0)] [TV (14,0)] [Mac (11,0)] + [MacCatalyst (14,0)] [Protocol (Name = "CITorusLensDistortion")] interface CITorusLensDistortionProtocol : CIFilterProtocol { @@ -4774,6 +4802,7 @@ namespace CoreImage { [iOS (14,0)] [TV (14,0)] [Mac (11,0)] + [MacCatalyst (14,0)] [Protocol (Name = "CITwirlDistortion")] interface CITwirlDistortionProtocol : CIFilterProtocol { @@ -4834,6 +4863,7 @@ namespace CoreImage { [iOS (14,0)] [TV (14,0)] [Mac (11,0)] + [MacCatalyst (14,0)] [Protocol (Name = "CIVortexDistortion")] interface CIVortexDistortionProtocol : CIFilterProtocol { @@ -4951,6 +4981,7 @@ namespace CoreImage { [iOS (14,0)] [TV (14,0)] [Mac (11,0)] + [MacCatalyst (14,0)] [Protocol (Name = "CINinePartStretched")] interface CINinePartStretchedProtocol : CIFilterProtocol { @@ -4996,6 +5027,7 @@ namespace CoreImage { [iOS (14,0)] [TV (14,0)] [Mac (11,0)] + [MacCatalyst (14,0)] [Protocol (Name = "CINinePartTiled")] interface CINinePartTiledProtocol : CIFilterProtocol { @@ -5064,6 +5096,7 @@ namespace CoreImage { [iOS (14,0)] [TV (14,0)] [Mac (11,0)] + [MacCatalyst (14,0)] [Protocol (Name="CIAreaMinMaxRed")] interface CIAreaMinMaxRedProtocol : CIAreaReductionFilterProtocol { } @@ -5230,10 +5263,12 @@ namespace CoreImage { CGImageMetadata AuxDataMetadata { get; set; } [iOS (14,1)][TV (14,2)][Mac (11,0)] + [MacCatalyst (14,1)] [CoreImageFilterProperty ("inputGainMap")] CIImage GainMap { get; set; } [iOS (14,1)][TV (14,2)][Mac (11,0)] + [MacCatalyst (14,1)] [CoreImageFilterProperty ("inputGlassesImage")] CIImage GlassesImage { get; set; } } @@ -5790,10 +5825,12 @@ namespace CoreImage { NSString SemanticSegmentationTeethMatteImageKey { get; } [iOS (14,1)][TV (14,2)][Mac (11,0)] + [MacCatalyst (14,1)] [Field ("kCIImageRepresentationSemanticSegmentationGlassesMatteImage")] NSString SemanticSegmentationGlassesMatteImage { get; } [iOS (14,3), TV (14,3), Mac (11,1)] + [MacCatalyst (14,3)] [Field ("kCIImageRepresentationSemanticSegmentationSkyMatteImage")] NSString SemanticSegmentationSkyMatteImage { get; } } @@ -5834,6 +5871,7 @@ namespace CoreImage { [iOS (14,0)] [TV (14,0)] [Mac (11,0)] + [MacCatalyst (14,0)] [Protocol (Name="CIAreaMinMax")] interface CIAreaMinMaxProtocol : CIAreaReductionFilterProtocol { } @@ -5964,6 +6002,7 @@ namespace CoreImage { [iOS (14,0)] [TV (14,0)] [Mac (11,0)] + [MacCatalyst (14,0)] [Protocol (Name = "CIKMeans")] interface CIKMeansProtocol : CIAreaReductionFilterProtocol { @@ -9153,6 +9192,7 @@ namespace CoreImage { [iOS (14,0)] [TV (14,0)] [Mac (11,0)] + [MacCatalyst (14,0)] [Protocol (Name="CIColorAbsoluteDifference")] interface CIColorAbsoluteDifferenceProtocol : CIFilterProtocol { @@ -9169,6 +9209,7 @@ namespace CoreImage { [iOS (14,0)] [TV (14,0)] [Mac (11,0)] + [MacCatalyst (14,0)] [BaseType (typeof (CIFilter))] interface CIColorAbsoluteDifference : CIColorAbsoluteDifferenceProtocol { } @@ -9176,6 +9217,7 @@ namespace CoreImage { [iOS (14,0)] [TV (14,0)] [Mac (11,0)] + [MacCatalyst (14,0)] [Protocol (Name="CIColorThreshold")] interface CIColorThresholdProtocol : CIFilterProtocol { @@ -9192,6 +9234,7 @@ namespace CoreImage { [iOS (14,0)] [TV (14,0)] [Mac (11,0)] + [MacCatalyst (14,0)] [BaseType (typeof (CIFilter))] interface CIColorThreshold : CIColorThresholdProtocol { } @@ -9199,6 +9242,7 @@ namespace CoreImage { [iOS (14,0)] [TV (14,0)] [Mac (11,0)] + [MacCatalyst (14,0)] [Protocol (Name="CIColorThresholdOtsu")] interface CIColorThresholdOtsuProtocol : CIFilterProtocol { @@ -9211,6 +9255,7 @@ namespace CoreImage { [iOS (14,0)] [TV (14,0)] [Mac (11,0)] + [MacCatalyst (14,0)] [BaseType (typeof (CIFilter))] interface CIColorThresholdOtsu : CIColorThresholdOtsuProtocol { } diff --git a/src/corelocation.cs b/src/corelocation.cs index 61907f8a70..9bf7c63ec1 100644 --- a/src/corelocation.cs +++ b/src/corelocation.cs @@ -150,6 +150,7 @@ namespace CoreLocation { double AccuracyThreeKilometers { get; } [Watch (7, 0), TV (14, 0), Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [Field ("kCLLocationAccuracyReduced")] double AccuracyReduced { get; } @@ -282,6 +283,7 @@ namespace CoreLocation { void StopMonitoring (CLRegion region); [Watch (7, 0), TV (14, 0), Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [Export ("authorizationStatus")] CLAuthorizationStatus AuthorizationStatus { get; } @@ -409,19 +411,23 @@ namespace CoreLocation { void RequestLocation (); [Watch (7, 0), TV (14, 0), Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [Export ("accuracyAuthorization")] CLAccuracyAuthorization AccuracyAuthorization { get; } [Async] [Watch (7, 0), TV (14, 0), Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [Export ("requestTemporaryFullAccuracyAuthorizationWithPurposeKey:completion:")] void RequestTemporaryFullAccuracyAuthorization (string purposeKey, [NullAllowed] Action completion); [Watch (7, 0), TV (14, 0), Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [Export ("requestTemporaryFullAccuracyAuthorizationWithPurposeKey:")] void RequestTemporaryFullAccuracyAuthorization (string purposeKey); [NoWatch, NoTV, Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [Export ("authorizedForWidgetUpdates")] bool IsAuthorizedForWidgetUpdates { [Bind ("isAuthorizedForWidgetUpdates")] get; } diff --git a/src/coremidi.cs b/src/coremidi.cs index 5622ab78e5..c87312cbf6 100644 --- a/src/coremidi.cs +++ b/src/coremidi.cs @@ -244,6 +244,7 @@ namespace CoreMidi { IntPtr Constructor (NSData data, string inName); [Mac (11, 0), iOS (14,0)] + [MacCatalyst (14,0)] [Export ("initWithData:")] IntPtr Constructor (NSData data); } @@ -265,10 +266,12 @@ namespace CoreMidi { IntPtr Constructor (MidiCIProfile[] enabled, MidiCIProfile[] disabled); [Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [Export ("initWithChannel:enabledProfiles:disabledProfiles:")] IntPtr Constructor (byte midiChannelNumber, MidiCIProfile[] enabled, MidiCIProfile[] disabled); [Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [Export ("midiChannel")] byte MidiChannel { get; } } @@ -312,38 +315,46 @@ namespace CoreMidi { MidiCIProfileChangedHandler ProfileChangedCallback { get; set; } [Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [Export ("initWithDiscoveredNode:dataReadyHandler:disconnectHandler:")] IntPtr Constructor (MidiCIDiscoveredNode discoveredNode, Action dataReadyHandler, MidiCISessionDisconnectHandler disconnectHandler); [Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [Export ("sendProfile:onChannel:profileData:")] bool SendProfile (MidiCIProfile profile, byte channel, NSData profileSpecificData); [Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [Export ("deviceInfo")] MidiCIDeviceInfo DeviceInfo { get; } [Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [BindAs (typeof (ulong))] [Export ("maxSysExSize")] NSNumber MaxSysExSize { get; } [Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [BindAs (typeof (int))] [Export ("maxPropertyRequests")] NSNumber MaxPropertyRequests { get; } [Internal] [Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [Export ("midiDestination")] MidiObjectRef _MidiDestination { get; } [Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [NullAllowed, Export ("profileSpecificDataHandler", ArgumentSemantic.Copy)] MidiCIProfileSpecificDataHandler ProfileSpecificDataHandler { get; set; } } [Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject), Name="MIDICIDeviceInfo")] [DisableDefaultCtor] interface MidiCIDeviceInfo : NSSecureCoding @@ -376,6 +387,7 @@ namespace CoreMidi { } [Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject), Name="MIDICIDiscoveredNode")] [DisableDefaultCtor] interface MidiCIDiscoveredNode : NSSecureCoding @@ -404,6 +416,7 @@ namespace CoreMidi { delegate void MidiCIDiscoveryResponseDelegate (MidiCIDiscoveredNode[] discoveredNodes); [Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [DisableDefaultCtor] [BaseType (typeof (NSObject), Name="MIDICIDiscoveryManager")] interface MidiCIDiscoveryManager @@ -419,6 +432,7 @@ namespace CoreMidi { interface IMidiCIProfileResponderDelegate {} [Mac (11, 0), iOS (14,0)] + [MacCatalyst (14,0)] [Protocol, Model (AutoGeneratedName = true)] [BaseType (typeof (NSObject), Name="MIDICIProfileResponderDelegate")] interface MidiCIProfileResponderDelegate @@ -439,6 +453,7 @@ namespace CoreMidi { } [Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject), Name="MIDICIResponder")] [DisableDefaultCtor] interface MidiCIResponder diff --git a/src/coreml.cs b/src/coreml.cs index 037accd816..5084ccd217 100644 --- a/src/coreml.cs +++ b/src/coreml.cs @@ -442,6 +442,7 @@ namespace CoreML { MLModelMetadata Metadata { get; } [Watch (7,0), TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [NullAllowed, Export ("classLabels", ArgumentSemantic.Copy)] NSObject[] ClassLabels { get; } @@ -1019,6 +1020,7 @@ namespace CoreML { } [Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [NoTV][NoWatch] [BaseType (typeof (NSObject))] [DisableDefaultCtor] @@ -1049,6 +1051,7 @@ namespace CoreML { } [Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [NoTV][NoWatch] [BaseType (typeof (NSObject))] [DisableDefaultCtor] diff --git a/src/coremotion.cs b/src/coremotion.cs index 5a05e95489..a4b772775c 100644 --- a/src/coremotion.cs +++ b/src/coremotion.cs @@ -205,6 +205,7 @@ namespace CoreMotion { double Heading { get; } [iOS (14,0)][Watch (7,0)][Mac (11,0)] + [MacCatalyst (14,0)] [Export ("sensorLocation")] CMDeviceMotionSensorLocation SensorLocation { get; } } @@ -651,6 +652,7 @@ namespace CoreMotion { } [iOS (14,0)][Watch (7,0)][Mac (11,0)] + [MacCatalyst (14,0)] [Native] public enum CMDeviceMotionSensorLocation : long { Default, @@ -659,10 +661,12 @@ namespace CoreMotion { } [iOS (14,0)][Watch (7,0)] + [MacCatalyst (14,0)] [NoMac] delegate void CMHeadphoneDeviceMotionHandler ([NullAllowed] CMDeviceMotion motion, [NullAllowed] NSError error); [iOS (14,0)][Watch (7,0)] + [MacCatalyst (14,0)] [NoMac] [BaseType (typeof(NSObject))] interface CMHeadphoneMotionManager { @@ -700,6 +704,7 @@ namespace CoreMotion { interface ICMHeadphoneMotionManagerDelegate {} [iOS (14,0)][Watch (7,0)] + [MacCatalyst (14,0)] [NoMac] [Protocol, Model (AutoGeneratedName = true)] [BaseType (typeof (NSObject))] @@ -713,6 +718,7 @@ namespace CoreMotion { } [Watch (7,0), NoMac, iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (CMLogItem))] [DisableDefaultCtor] interface CMRotationRateData { @@ -722,6 +728,7 @@ namespace CoreMotion { } [Watch (7,0), NoMac, iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (CMRotationRateData))] [DisableDefaultCtor] interface CMRecordedRotationRateData { diff --git a/src/corespotlight.cs b/src/corespotlight.cs index e0217ce190..be6fa2b217 100644 --- a/src/corespotlight.cs +++ b/src/corespotlight.cs @@ -264,6 +264,7 @@ namespace CoreSpotlight { IntPtr Constructor (string itemContentType); [iOS (14,0)][TV (14,0)][Mac (11,0)] + [MacCatalyst (14,0)] [Export ("initWithContentType:")] IntPtr Constructor (UTType contentType); diff --git a/src/corevideo.cs b/src/corevideo.cs index ece221799f..fe6327007c 100644 --- a/src/corevideo.cs +++ b/src/corevideo.cs @@ -413,10 +413,12 @@ namespace CoreVideo { #if !MONOMAC [NoWatch] + [NoMacCatalyst] [Field ("kCVPixelBufferOpenGLESCompatibilityKey")] NSString OpenGLESCompatibilityKey { get; } [NoWatch] + [NoMacCatalyst] [iOS (9,0)] [Field ("kCVPixelBufferOpenGLESTextureCacheCompatibilityKey")] NSString OpenGLESTextureCacheCompatibilityKey { get; } diff --git a/src/devicecheck.cs b/src/devicecheck.cs index e69f86fbda..5fe6d5e7f5 100644 --- a/src/devicecheck.cs +++ b/src/devicecheck.cs @@ -51,6 +51,7 @@ namespace DeviceCheck { [NoWatch, NoTV] [iOS (14,0)] [Mac (11,3)] + [MacCatalyst (14,5)] [DisableDefaultCtor] [BaseType (typeof (NSObject))] interface DCAppAttestService { diff --git a/src/eventkit.cs b/src/eventkit.cs index d4b5844149..fdc6eefbc8 100644 --- a/src/eventkit.cs +++ b/src/eventkit.cs @@ -357,6 +357,7 @@ namespace EventKit { #else #if !WATCH [Availability (Deprecated = Platform.iOS_9_0, Message = "Replaced by 'ContactPredicate'.")] + [MacCatalyst (14,0)] [return: NullAllowed] [Export ("ABRecordWithAddressBook:")] ABRecord GetRecord (ABAddressBook addressBook); diff --git a/src/externalaccessory.cs b/src/externalaccessory.cs index 54fbba1641..6a71bd2b83 100644 --- a/src/externalaccessory.cs +++ b/src/externalaccessory.cs @@ -110,7 +110,8 @@ namespace ExternalAccessory { NSString BluetoothAccessoryPickerErrorDomain { get; } #endif - [Introduced (PlatformName.MacCatalyst, 14, 0)] + // [Introduced (PlatformName.MacCatalyst, 14, 0)] + [NoMacCatalyst] // selector does not respond [NoMac] [Export ("showBluetoothAccessoryPickerWithNameFilter:completion:")] [Async] diff --git a/src/fileprovider.cs b/src/fileprovider.cs index 07886accf3..d63d69cf3d 100644 --- a/src/fileprovider.cs +++ b/src/fileprovider.cs @@ -220,7 +220,6 @@ namespace FileProvider { [iOS (11,0)] [Mac (11,0)] - [MacCatalyst (13, 0)] [Static] interface NSFileProviderItemIdentifier { @@ -237,7 +236,6 @@ namespace FileProvider { [iOS (11,0)] [Mac (10,15)] - [MacCatalyst (13, 0)] [Native] [Flags] enum NSFileProviderItemCapabilities : ulong { @@ -265,7 +263,6 @@ namespace FileProvider { [iOS (11,0)] [Mac (11,0)] - [MacCatalyst (13, 0)] [Static] interface NSFileProviderPage { @@ -339,7 +336,6 @@ namespace FileProvider { [iOS (11,0)] [Mac (10,15)] - [MacCatalyst (13, 0)] [Protocol] interface NSFileProviderEnumerationObserver { @@ -365,7 +361,6 @@ namespace FileProvider { [iOS (11,0)] [Mac (10,15)] - [MacCatalyst (13, 0)] [Protocol] interface NSFileProviderChangeObserver { @@ -395,7 +390,6 @@ namespace FileProvider { [iOS (11,0)] [Mac (10,15)] - [MacCatalyst (13, 0)] [Protocol] interface NSFileProviderEnumerator { @@ -418,7 +412,6 @@ namespace FileProvider { [iOS (11,0)] [Mac (10,15)] - [MacCatalyst (13, 0)] [Protocol] interface NSFileProviderItem { diff --git a/src/foundation.cs b/src/foundation.cs index c9a1b522f5..a19ffe717b 100644 --- a/src/foundation.cs +++ b/src/foundation.cs @@ -3961,6 +3961,7 @@ namespace Foundation string HelpAnchor { get; } [Watch (7,4), TV (14,5), Mac (11,3), iOS (14,5)] + [MacCatalyst (14,5)] [Export ("underlyingErrors", ArgumentSemantic.Copy)] NSError [] UnderlyingErrors { get; } @@ -4029,6 +4030,7 @@ namespace Foundation NSString UnderlyingErrorKey { get; } [Watch (7,4), TV (14,5), Mac (11,3), iOS (14,5)] + [MacCatalyst (14,5)] [Field ("NSMultipleUnderlyingErrorsKey")] NSString MultipleUnderlyingErrorsKey { get; } @@ -6087,6 +6089,7 @@ namespace Foundation NSString VolumeSupportsAccessPermissionsKey { get; } [Watch (7,0), TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [Field ("NSURLVolumeSupportsFileProtectionKey")] NSString VolumeSupportsFileProtectionKey { get; } @@ -6235,6 +6238,7 @@ namespace Foundation NSString UbiquitousItemContainerDisplayNameKey { get; } [Watch (7,4), TV (14,5), Mac (11,3), iOS (14,5)] + [MacCatalyst (14,5)] [Field ("NSURLUbiquitousItemIsExcludedFromSyncKey")] NSString UbiquitousItemIsExcludedFromSyncKey { get; } @@ -6303,26 +6307,32 @@ namespace Foundation NSString FileProtectionCompleteUntilFirstUserAuthentication { get; } [Watch (7,0)][TV (14,0)][Mac (11,0)][iOS (14,0)] + [MacCatalyst (14,0)] [Field ("NSURLContentTypeKey")] NSString ContentTypeKey { get; } [Watch (7,0)][TV (14,0)][Mac (11,0)][iOS (14,0)] + [MacCatalyst (14,0)] [Field ("NSURLFileContentIdentifierKey")] NSString FileContentIdentifierKey { get; } [Watch (7,0)][TV (14,0)][Mac (11,0)][iOS (14,0)] + [MacCatalyst (14,0)] [Field ("NSURLIsPurgeableKey")] NSString IsPurgeableKey { get; } [Watch (7,0)][TV (14,0)][Mac (11,0)][iOS (14,0)] + [MacCatalyst (14,0)] [Field ("NSURLIsSparseKey")] NSString IsSparseKey { get; } [Watch (7,0)][TV (14,0)][Mac (11,0)][iOS (14,0)] + [MacCatalyst (14,0)] [Field ("NSURLMayHaveExtendedAttributesKey")] NSString MayHaveExtendedAttributesKey { get; } [Watch (7,0)][TV (14,0)][Mac (11,0)][iOS (14,0)] + [MacCatalyst (14,0)] [Field ("NSURLMayShareFileContentKey")] NSString MayShareFileContentKey { get; } @@ -7864,6 +7874,7 @@ namespace Foundation bool ShouldHandleCookies { get; } [Watch (7,4), TV (14,5), Mac (11,3), iOS (14,5)] + [MacCatalyst (14,5)] [Export ("assumesHTTP3Capable")] bool AssumesHttp3Capable { get; [NotImplemented] set; } } @@ -8043,6 +8054,7 @@ namespace Foundation bool AllowsConstrainedNetworkAccess { get; set; } [Watch (7,4), TV (14,5), Mac (11,3), iOS (14,5)] + [MacCatalyst (14,5)] [Export ("assumesHTTP3Capable")] bool AssumesHttp3Capable { get; set; } } @@ -8527,6 +8539,7 @@ namespace Foundation [NoTV] [Availability (Deprecated = Platform.iOS_7_0)] + [NoMacCatalyst] [Export ("minimumTrackingAdjustment")] nfloat MinimumTrackingAdjustment { get; set; } diff --git a/src/gamecontroller.cs b/src/gamecontroller.cs index 743810af8e..4d3c8a8975 100644 --- a/src/gamecontroller.cs +++ b/src/gamecontroller.cs @@ -43,30 +43,37 @@ namespace GameController { bool IsAnalog { [Bind ("isAnalog")] get; } [TV (14, 0), Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [NullAllowed, Export ("sfSymbolsName", ArgumentSemantic.Strong)] string SfSymbolsName { get; set; } [TV (14, 0), Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [NullAllowed, Export ("localizedName", ArgumentSemantic.Strong)] string LocalizedName { get; set; } [TV (14, 2), Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [NullAllowed, Export ("unmappedSfSymbolsName", ArgumentSemantic.Strong)] string UnmappedSfSymbolsName { get; set; } [TV (14, 2), Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [NullAllowed, Export ("unmappedLocalizedName", ArgumentSemantic.Strong)] string UnmappedLocalizedName { get; set; } [TV (14, 0), Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [Export ("aliases")] NSSet Aliases { get; } [TV (14, 0), Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [Export ("boundToSystemGesture")] bool IsBoundToSystemGesture { [Bind ("isBoundToSystemGesture")] get; } [TV (14, 0), Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [Export ("preferredSystemGestureState", ArgumentSemantic.Assign)] GCSystemGestureState PreferredSystemGestureState { get; set; } } @@ -132,10 +139,12 @@ namespace GameController { GCControllerButtonValueChanged PressedChangedHandler { get; set; } [TV (14, 0), Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [NullAllowed, Export ("touchedChangedHandler", ArgumentSemantic.Copy)] GCControllerButtonTouchedChanged TouchedChangedHandler { get; set; } [TV (14, 0), Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [Export ("touched")] bool Touched { [Bind ("isTouched")] get; } } @@ -313,6 +322,7 @@ namespace GameController { void SetState (GCExtendedGamepad extendedGamepad); [TV (14, 0), Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [NullAllowed, Export ("buttonHome")] GCControllerButtonInput ButtonHome { get; } } @@ -433,31 +443,38 @@ namespace GameController { GCController GetExtendedGamepadController (); [TV (14, 0), Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [Static] [NullAllowed, Export ("current", ArgumentSemantic.Strong)] GCController Current { get; } [TV (14, 0), Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [NullAllowed, Export ("light", ArgumentSemantic.Retain)] GCDeviceLight Light { get; } [TV (14, 0), Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [NullAllowed, Export ("haptics", ArgumentSemantic.Retain)] GCDeviceHaptics Haptics { get; } [TV (14, 0), Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [NullAllowed, Export ("battery", ArgumentSemantic.Copy)] GCDeviceBattery Battery { get; } [TV (14, 0), Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [Notification, Field ("GCControllerDidBecomeCurrentNotification")] NSString DidBecomeCurrentNotification { get; } [TV (14, 0), Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [Notification, Field ("GCControllerDidStopBeingCurrentNotification")] NSString DidStopBeingCurrentNotification { get; } [TV (14,5)][Mac (11,3)][iOS (14,5)] + [MacCatalyst (14,5)] [Static] [Export ("shouldMonitorBackgroundEvents")] bool ShouldMonitorBackgroundEvents { get; set; } @@ -526,26 +543,32 @@ namespace GameController { void SetState (GCMotion motion); [TV (14, 0), Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [Export ("hasAttitude")] bool HasAttitude { get; } [TV (14, 0), Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [Export ("hasRotationRate")] bool HasRotationRate { get; } [TV (14, 0), Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [Export ("sensorsRequireManualActivation")] bool SensorsRequireManualActivation { get; } [TV (14, 0), Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [Export ("sensorsActive")] bool SensorsActive { get; set; } [TV (14, 0), Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [Export ("hasGravityAndUserAcceleration")] bool HasGravityAndUserAcceleration { get; } [TV (14, 0), Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [Export ("acceleration")] GCAcceleration Acceleration { get; set; } } @@ -638,6 +661,7 @@ namespace GameController { } [TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface GCColor : NSCopying, NSSecureCoding @@ -658,6 +682,7 @@ namespace GameController { delegate void GCControllerTouchpadHandler (GCControllerTouchpad touchpad, float xValue, float yValue, float buttonValue, bool buttonPressed); [TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (GCControllerElement))] interface GCControllerTouchpad { @@ -687,6 +712,7 @@ namespace GameController { } [TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface GCDeviceBattery : NSSecureCoding, NSCoding @@ -699,6 +725,7 @@ namespace GameController { } [TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface GCDeviceHaptics @@ -716,6 +743,7 @@ namespace GameController { } [TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [Static] interface GCHapticsLocality { @@ -745,6 +773,7 @@ namespace GameController { } [TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface GCDeviceLight: NSSecureCoding, NSCoding @@ -754,6 +783,7 @@ namespace GameController { } [TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (GCExtendedGamepad))] interface GCDualShockGamepad: NSSecureCoding, NSCoding { @@ -768,6 +798,7 @@ namespace GameController { } [TV (14, 0), Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] interface GCKeyboard : GCDevice, NSSecureCoding, NSCoding { @@ -788,6 +819,7 @@ namespace GameController { delegate void GCKeyboardValueChangedHandler (GCKeyboardInput keyboard, GCControllerButtonInput key, nint keyCode, bool pressed); [TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (GCPhysicalInputProfile))] interface GCKeyboardInput { @@ -803,6 +835,7 @@ namespace GameController { } [Mac (11, 0), iOS (14, 0), TV (14, 0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] interface GCMouse : GCDevice, NSSecureCoding, NSCoding { @@ -833,10 +866,12 @@ namespace GameController { delegate void GCMouseMoved (GCMouseInput mouse, float deltaX, float deltaY); [Mac (11, 0), iOS (14, 0), TV(14, 0)] + [MacCatalyst (14,0)] [BaseType (typeof (GCControllerDirectionPad))] interface GCDeviceCursor {} [Mac (11,0), iOS (14,0), TV (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (GCPhysicalInputProfile))] interface GCMouseInput { @@ -862,6 +897,7 @@ namespace GameController { interface IGCDevice {} [TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [Protocol] interface GCDevice { @@ -883,6 +919,7 @@ namespace GameController { } [TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface GCPhysicalInputProfile @@ -929,6 +966,7 @@ namespace GameController { } [TV (14, 0), Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [Static] interface GCInputXbox { @@ -946,6 +984,7 @@ namespace GameController { } [TV (14, 0), Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [Static] interface GCInput { @@ -1008,6 +1047,7 @@ namespace GameController { } [TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (GCExtendedGamepad))] interface GCXboxGamepad: NSSecureCoding, NSCoding { @@ -1026,6 +1066,7 @@ namespace GameController { [Static] [TV (14, 0), Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] partial interface GCKey { [Field ("GCKeyA")] @@ -1408,6 +1449,7 @@ namespace GameController { } [TV (14, 0), Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [Static] interface GCKeyCode { @@ -1791,12 +1833,14 @@ namespace GameController { } [iOS (14,3)][TV (14,3)][Mac (11,1)] + [MacCatalyst (14,3)] [BaseType (typeof (GCMicroGamepad))] [DisableDefaultCtor] interface GCDirectionalGamepad { } [TV (14,5)][Mac (11,3)][iOS (14,5)] + [MacCatalyst (14,5)] [Native] enum GCDualSenseAdaptiveTriggerMode : long { Off = 0, @@ -1806,6 +1850,7 @@ namespace GameController { } [TV (14,5)][Mac (11,3)][iOS (14,5)] + [MacCatalyst (14,5)] [Native] enum GCDualSenseAdaptiveTriggerStatus : long { Unknown = -1, @@ -1819,6 +1864,7 @@ namespace GameController { } [TV (14,5)][Mac (11,3)][iOS (14,5)] + [MacCatalyst (14,5)] [BaseType (typeof (GCControllerButtonInput))] [DisableDefaultCtor] interface GCDualSenseAdaptiveTrigger { @@ -1846,6 +1892,7 @@ namespace GameController { } [TV (14,5)][Mac (11,3)][iOS (14,5)] + [MacCatalyst (14,5)] [BaseType (typeof (GCExtendedGamepad))] [DisableDefaultCtor] // Objective-C exception thrown. Name: NSInvalidArgumentException Reason: -[GCControllerButtonInput setIndex:]: unrecognized selector sent to instance 0x60000147eac0 interface GCDualSenseGamepad { @@ -1867,6 +1914,7 @@ namespace GameController { } [TV (14,5)][Mac (11,3)][iOS (14,5)] + [MacCatalyst (14,5)] enum GCInputDirectional { [Field ("GCInputDirectionalDpad")] Dpad, diff --git a/src/gamekit.cs b/src/gamekit.cs index 191ea9463c..b3c4395536 100644 --- a/src/gamekit.cs +++ b/src/gamekit.cs @@ -68,6 +68,7 @@ namespace GameKit { #if !MONOMAC [NoWatch] [NoTV] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [Model] [Protocol] @@ -87,6 +88,7 @@ namespace GameKit { [NoWatch] [NoTV] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [Availability (Deprecated = Platform.iOS_7_0, Message = "Use 'MCBrowserViewController' from the 'MultipeerConnectivity' framework instead.")] interface GKPeerPickerController { @@ -142,6 +144,7 @@ namespace GameKit { [NoWatch] // deprecated in 2.0 (but framework not added before 3.0) [NoTV] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [Availability (Deprecated = Platform.iOS_7_0, Message = "Use 'GKVoiceChat' instead.")] interface GKVoiceChatService { @@ -507,6 +510,7 @@ namespace GameKit { #if !MONOMAC [NoTV] [NoWatch] + [NoMacCatalyst] [Export ("loadImageWithCompletionHandler:")] [Async] void LoadImage ([NullAllowed] GKImageLoadedHandler completionHandler); @@ -608,10 +612,12 @@ namespace GameKit { bool ScopedIdsArePersistent { get; } [TV (14, 0), NoWatch, Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [Field ("GKPlayerIDNoLongerAvailable")] NSString IdNoLongerAvailable { get; } [TV (14, 0), NoWatch, Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [Export ("isInvitable")] bool IsInvitable { get; } } @@ -738,12 +744,12 @@ namespace GameKit { [NoWatch] [NoTV] + [NoMacCatalyst] [Deprecated (PlatformName.iOS, 7, 0, message : "Use 'GKGameCenterViewController' instead.")] [Deprecated (PlatformName.MacOSX, 10, 10, message : "Use 'GKGameCenterViewController' instead.")] [BaseType (typeof (NSObject))] [Model] [Protocol] - [NoTV] interface GKLeaderboardViewControllerDelegate { [Abstract] [Export ("leaderboardViewControllerDidFinish:")] @@ -751,6 +757,7 @@ namespace GameKit { } [NoTV][NoWatch] + [NoMacCatalyst] [Deprecated (PlatformName.iOS, 7, 0, message : "Use 'GKGameCenterViewController' instead.")] [Deprecated (PlatformName.MacOSX, 10, 10, message : "Use 'GKGameCenterViewController' instead.")] #if MONOMAC @@ -957,16 +964,19 @@ namespace GameKit { // FriendsList Category [Watch (7,4), TV (14,5), Mac (11,3), iOS (14,5)] + [MacCatalyst (14,5)] [Async] [Export ("loadFriendsAuthorizationStatus:")] void LoadFriendsAuthorizationStatus (Action completionHandler); [Watch (7,4), TV (14,5), Mac (11,3), iOS (14,5)] + [MacCatalyst (14,5)] [Async] [Export ("loadFriends:")] void LoadFriendsList (Action completionHandler); [Watch (7,4), TV (14,5), Mac (11,3), iOS (14,5)] + [MacCatalyst (14,5)] [Async] [Export ("loadFriendsWithIdentifiers:completionHandler:")] void LoadFriendsList (string[] identifiers, Action completionHandler); @@ -1675,12 +1685,12 @@ namespace GameKit { [NoWatch] [NoTV] + [NoMacCatalyst] [Deprecated (PlatformName.iOS, 7, 0, message : "Use 'GKGameCenterViewController' instead.")] [Deprecated (PlatformName.MacOSX, 10, 10, message : "Use 'GKGameCenterViewController' instead.")] [BaseType (typeof (NSObject))] [Model] [Protocol] - [NoTV] interface GKAchievementViewControllerDelegate { [Abstract] [Export ("achievementViewControllerDidFinish:")] @@ -1688,6 +1698,7 @@ namespace GameKit { } [NoTV][NoWatch] + [NoMacCatalyst] [Deprecated (PlatformName.iOS, 7, 0, message : "Use 'GKGameCenterViewController' instead.")] [Deprecated (PlatformName.MacOSX, 10, 10, message : "Use 'GKGameCenterViewController' instead.")] #if MONOMAC @@ -2712,6 +2723,7 @@ namespace GameKit { } [TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [NoWatch] [BaseType (typeof (NSObject))] [DisableDefaultCtor] @@ -2754,6 +2766,7 @@ namespace GameKit { } [Watch (7,0), TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [DisableDefaultCtor] [BaseType (typeof (NSObject))] interface GKLeaderboardEntry @@ -2786,6 +2799,7 @@ namespace GameKit { } [Watch (7,0), TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] interface GKLeaderboardScore { diff --git a/src/gameplaykit.cs b/src/gameplaykit.cs index 5326c93326..d35753a34c 100644 --- a/src/gameplaykit.cs +++ b/src/gameplaykit.cs @@ -1948,36 +1948,42 @@ namespace GameplayKit { [Deprecated (PlatformName.iOS, 10, 0)] [Deprecated (PlatformName.TvOS, 10, 0)] + [NoMacCatalyst] [Export ("initWithMinPosition:maxPosition:minCellSize:")] [MarshalDirective (NativePrefix = "xamarin_simd__", Library = "__Internal")] IntPtr Constructor (Vector2 min, Vector2 max, float minCellSize); [Deprecated (PlatformName.iOS, 10, 0)] [Deprecated (PlatformName.TvOS, 10, 0)] + [NoMacCatalyst] [Export ("addDataWithPoint:point:")] [MarshalDirective (NativePrefix = "xamarin_simd__", Library = "__Internal")] GKQuadTreeNode AddData (NSObject data, Vector2 point); [Deprecated (PlatformName.iOS, 10, 0)] [Deprecated (PlatformName.TvOS, 10, 0)] + [NoMacCatalyst] [Export ("addDataWithQuad:quadOrigin:quadSize:")] [MarshalDirective (NativePrefix = "xamarin_simd__", Library = "__Internal")] GKQuadTreeNode AddData (NSObject data, Vector2 quadOrigin, Vector2 quadSize); [Deprecated (PlatformName.iOS, 10, 0)] [Deprecated (PlatformName.TvOS, 10, 0)] + [NoMacCatalyst] [Export ("queryDataForPoint:")] [MarshalDirective (NativePrefix = "xamarin_simd__", Library = "__Internal")] NSObject[] QueryData (Vector2 point); [Deprecated (PlatformName.iOS, 10, 0)] [Deprecated (PlatformName.TvOS, 10, 0)] + [NoMacCatalyst] [Export ("queryDataForQuad:quadSize:")] [MarshalDirective (NativePrefix = "xamarin_simd__", Library = "__Internal")] NSObject[] QueryData (Vector2 quadOrigin, Vector2 quadSize); [Deprecated (PlatformName.iOS, 10, 0)] [Deprecated (PlatformName.TvOS, 10, 0)] + [NoMacCatalyst] [Export ("removeData:withNode:")] bool RemoveData (NSObject data, GKQuadTreeNode node); #endif diff --git a/src/identitylookup.cs b/src/identitylookup.cs index 16bc4f6a7f..9a2c35f064 100644 --- a/src/identitylookup.cs +++ b/src/identitylookup.cs @@ -15,7 +15,6 @@ using ObjCRuntime; namespace IdentityLookup { [iOS (11,0)] - [Introduced (PlatformName.MacCatalyst, 13,0)] [NoMac][NoWatch][NoTV] [Native] public enum ILMessageFilterAction : long { @@ -35,7 +34,6 @@ namespace IdentityLookup { } [iOS (11,0)] - [Introduced (PlatformName.MacCatalyst, 13,0)] [NoMac][NoWatch][NoTV] [ErrorDomain ("ILMessageFilterErrorDomain")] [Native] @@ -48,7 +46,6 @@ namespace IdentityLookup { } [iOS (12, 0)] - [Introduced (PlatformName.MacCatalyst, 13,0)] [NoMac][NoWatch][NoTV] [Native] enum ILClassificationAction : long { @@ -59,7 +56,6 @@ namespace IdentityLookup { } [iOS (11,0)] - [Introduced (PlatformName.MacCatalyst, 13,0)] [NoMac][NoWatch][NoTV] [DisableDefaultCtor] [BaseType (typeof (NSObject))] @@ -67,7 +63,6 @@ namespace IdentityLookup { } [iOS (11,0)] - [Introduced (PlatformName.MacCatalyst, 13,0)] [NoMac][NoWatch][NoTV] [DisableDefaultCtor] [BaseType (typeof (NSExtensionContext))] @@ -81,7 +76,6 @@ namespace IdentityLookup { interface IILMessageFilterQueryHandling { } [iOS (11,0)] - [Introduced (PlatformName.MacCatalyst, 13,0)] [NoMac][NoWatch][NoTV] [Protocol] interface ILMessageFilterQueryHandling { @@ -92,7 +86,6 @@ namespace IdentityLookup { } [iOS (11,0)] - [Introduced (PlatformName.MacCatalyst, 13,0)] [NoMac][NoWatch][NoTV] [BaseType (typeof (NSObject))] [DisableDefaultCtor] @@ -106,7 +99,6 @@ namespace IdentityLookup { } [iOS (11,0)] - [Introduced (PlatformName.MacCatalyst, 13,0)] [NoMac][NoWatch][NoTV] [DisableDefaultCtor] [BaseType (typeof (NSObject))] @@ -117,7 +109,6 @@ namespace IdentityLookup { } [iOS (11,0)] - [Introduced (PlatformName.MacCatalyst, 13,0)] [NoMac][NoWatch][NoTV] [BaseType (typeof (NSObject))] [DisableDefaultCtor] @@ -131,7 +122,6 @@ namespace IdentityLookup { } [iOS (12,0)] - [Introduced (PlatformName.MacCatalyst, 13,0)] [NoMac][NoWatch][NoTV] [BaseType (typeof (ILClassificationRequest))] [DisableDefaultCtor] @@ -142,7 +132,6 @@ namespace IdentityLookup { } [iOS (12,0)] - [Introduced (PlatformName.MacCatalyst, 13,0)] [NoMac][NoWatch][NoTV] [BaseType (typeof (ILCommunication))] [DisableDefaultCtor] @@ -154,7 +143,6 @@ namespace IdentityLookup { [Abstract] [iOS (12,0)] - [Introduced (PlatformName.MacCatalyst, 13,0)] [NoMac][NoWatch][NoTV] [BaseType (typeof (NSObject))] [DisableDefaultCtor] @@ -163,7 +151,6 @@ namespace IdentityLookup { } [iOS (12,0)] - [Introduced (PlatformName.MacCatalyst, 13,0)] [NoMac][NoWatch][NoTV] [BaseType (typeof (NSObject))] [DisableDefaultCtor] @@ -187,7 +174,6 @@ namespace IdentityLookup { [Abstract] [iOS (12,0)] - [Introduced (PlatformName.MacCatalyst, 13,0)] [NoMac][NoWatch][NoTV] [BaseType (typeof (NSObject))] [DisableDefaultCtor] @@ -204,7 +190,6 @@ namespace IdentityLookup { } [iOS (12,0)] - [Introduced (PlatformName.MacCatalyst, 13,0)] [NoMac][NoWatch][NoTV] [BaseType (typeof (ILClassificationRequest))] [DisableDefaultCtor] @@ -215,7 +200,6 @@ namespace IdentityLookup { } [iOS (12,0)] - [Introduced (PlatformName.MacCatalyst, 13,0)] [NoMac][NoWatch][NoTV] [BaseType (typeof (ILCommunication))] [DisableDefaultCtor] diff --git a/src/identitylookupui.cs b/src/identitylookupui.cs index 9f4949c3fd..67e6d56fb5 100644 --- a/src/identitylookupui.cs +++ b/src/identitylookupui.cs @@ -16,7 +16,6 @@ using IdentityLookup; namespace IdentityLookupUI { [iOS (12,0)] - [Introduced (PlatformName.MacCatalyst, 13,0)] [BaseType (typeof (NSExtensionContext))] interface ILClassificationUIExtensionContext { @@ -25,7 +24,6 @@ namespace IdentityLookupUI { } [iOS (12,0)] - [Introduced (PlatformName.MacCatalyst, 13,0)] [BaseType (typeof (UIViewController))] interface ILClassificationUIExtensionViewController { diff --git a/src/imageio.cs b/src/imageio.cs index 1e6eb7be3e..e98abd6336 100644 --- a/src/imageio.cs +++ b/src/imageio.cs @@ -68,10 +68,12 @@ namespace ImageIO { NSString HeicsDictionary { get; } [Mac (11,0), iOS (14,0), TV (14,0), Watch (7,0)] + [MacCatalyst (14,0)] [Field ("kCGImagePropertyWebPDictionary")] NSString WebPDictionary { get; } [Mac (11,0), iOS (14,1), TV (14,2), Watch (7,1)] + [MacCatalyst (14,1)] [Field ("kCGImagePropertyTGADictionary")] NSString TgaDictionary { get; } @@ -2016,30 +2018,37 @@ namespace ImageIO { // WebP Dictionary Keys [Mac (11,0)][iOS (14,0)][TV (14,0)][Watch (7,0)] + [MacCatalyst (14,0)] [Field ("kCGImagePropertyWebPLoopCount")] NSString WebPLoopCount { get; } [Mac (11,0)][iOS (14,0)][TV (14,0)][Watch (7,0)] + [MacCatalyst (14,0)] [Field ("kCGImagePropertyWebPDelayTime")] NSString WebPDelayTime { get; } [Mac (11,0)][iOS (14,0)][TV (14,0)][Watch (7,0)] + [MacCatalyst (14,0)] [Field ("kCGImagePropertyWebPUnclampedDelayTime")] NSString WebPUnclampedDelayTime { get; } [Mac (11,0)][iOS (14,0)][TV (14,0)][Watch (7,0)] + [MacCatalyst (14,0)] [Field ("kCGImagePropertyWebPFrameInfoArray")] NSString WebPFrameInfoArray { get; } [Mac (11,0)][iOS (14,0)][TV (14,0)][Watch (7,0)] + [MacCatalyst (14,0)] [Field ("kCGImagePropertyWebPCanvasPixelWidth")] NSString WebPCanvasPixelWidth { get; } [Mac (11,0)][iOS (14,0)][TV (14,0)][Watch (7,0)] + [MacCatalyst (14,0)] [Field ("kCGImagePropertyWebPCanvasPixelHeight")] NSString WebPCanvasPixelHeight { get; } [Mac (11,0), iOS (14,1), TV (14,2), Watch (7,1)] + [MacCatalyst (14,1)] [Field ("kCGImagePropertyTGACompression")] NSString TgaCompression { get; } } @@ -2214,15 +2223,18 @@ namespace ImageIO { NSDictionary ExifAuxDictionary { get; set; } [Mac (11,0), iOS (14,0), TV (14,0), Watch (7,0)] + [MacCatalyst (14,0)] [Export ("WebPDictionary")] NSDictionary WebPDictionary { get; set; } [Mac (11,0), iOS (14,1), TV (14,2), Watch (7,1)] + [MacCatalyst (14,1)] [Export ("TgaDictionary")] NSDictionary TgaDictionary { get; set; } [iOS (14,1)] [TV (14,2)][Watch (7,1)][Mac (11,0)] + [MacCatalyst (14,1)] bool PreserveGainMap { get; set; } } @@ -2307,6 +2319,7 @@ namespace ImageIO { [iOS (14,1)] [TV (14,2)][Watch (7,1)][Mac (11,0)] + [MacCatalyst (14,1)] [Field ("kCGImageDestinationPreserveGainMap")] NSString PreserveGainMapKey { get; } } @@ -2365,15 +2378,18 @@ namespace ImageIO { [iOS (14,1)] [TV (14,2)][Watch (7,1)][Mac (11,0)] + [MacCatalyst (14,1)] [Field ("kCGImageAuxiliaryDataTypeSemanticSegmentationGlassesMatte")] SemanticSegmentationGlassesMatte, [iOS (14,1)] [TV (14,2)][Watch (7,1)][Mac (11,0)] + [MacCatalyst (14,1)] [Field ("kCGImageAuxiliaryDataTypeHDRGainMap")] TypeHdrGainMap, [iOS (14,3)][TV (14,3)][Watch (7,2)][Mac (11,1)] + [MacCatalyst (14,3)] [Field ("kCGImageAuxiliaryDataTypeSemanticSegmentationSkyMatte")] SemanticSegmentationSkyMatte, } diff --git a/src/intents.cs b/src/intents.cs index f25982c591..964d2a5b16 100644 --- a/src/intents.cs +++ b/src/intents.cs @@ -1685,8 +1685,10 @@ namespace Intents { CellularDataSettings, RestrictedContent, [Watch (7,0), iOS (14,0)] + [MacCatalyst (14,0)] ServiceUnavailable, [Watch (7,0), iOS (14,0)] + [MacCatalyst (14,0)] RegionRestriction, } @@ -1768,6 +1770,7 @@ namespace Intents { Unknown = 0, CurrentlyPlaying, [Watch (7,4), TV (14,5), iOS (14,5)] + [MacCatalyst (14,5)] My, } @@ -1803,8 +1806,10 @@ namespace Intents { CellularDataSettings, RestrictedContent, [Watch (7,0), iOS (14,0)] + [MacCatalyst (14,0)] ServiceUnavailable, [Watch (7,0), iOS (14,0)] + [MacCatalyst (14,0)] RegionRestriction, } @@ -1863,8 +1868,10 @@ namespace Intents { CellularDataSettings, RestrictedContent, [Watch (7,0), iOS (14,0)] + [MacCatalyst (14,0)] ServiceUnavailable, [Watch (7,0), iOS (14,0)] + [MacCatalyst (14,0)] RegionRestriction, } @@ -1974,8 +1981,10 @@ namespace Intents { CellularDataSettings, RestrictedContent, [Watch (7,0), iOS (14,0)] + [MacCatalyst (14,0)] ServiceUnavailable, [Watch (7,0), iOS (14,0)] + [MacCatalyst (14,0)] RegionRestriction, } @@ -2158,6 +2167,7 @@ namespace Intents { GetRideStatus, [Watch (7,0), NoMac, iOS (14,0)] + [MacCatalyst (14,0)] [Field ("INStartCallIntentIdentifier")] StartCall, } @@ -2198,6 +2208,7 @@ namespace Intents { Other, [Watch (7,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [Field ("INPersonHandleLabelSchool")] School, } @@ -2330,6 +2341,7 @@ namespace Intents { } [iOS (14,0), NoMac, NoTV, Watch (7,0)] + [MacCatalyst (14,0)] enum INCarChargingConnectorType { [DefaultEnumValue] [Field (null)] @@ -3712,6 +3724,7 @@ namespace Intents { INImage FromName (string name); [Watch (7,0), NoMac, iOS (14,0)] + [MacCatalyst (14,0)] [Static] [Export ("systemImageNamed:")] INImage FromSystem (string systemImageName); @@ -3735,21 +3748,25 @@ namespace Intents { // INImage_IntentsUI (IntentsUI) [NoMac, NoWatch, NoTV] + [NoMacCatalyst] [Static] [Export ("imageWithCGImage:")] INImage FromImage (CGImage image); [NoMac, NoWatch, NoTV] + [NoMacCatalyst] [Static] [Export ("imageWithUIImage:")] INImage FromImage (UIImage image); [NoMac, NoWatch, NoTV] + [NoMacCatalyst] [Static] [Export ("imageSizeForIntentResponse:")] CGSize GetImageSize (INIntentResponse response); [NoMac, NoWatch, iOS (11,0), NoTV] + [NoMacCatalyst] [Async] [Export ("fetchUIImageWithCompletion:")] void FetchImage (Action completion); @@ -3827,6 +3844,7 @@ namespace Intents { string SuggestedInvocationPhrase { get; set; } [Watch (7,0), NoTV, NoMac, iOS (14,0)] + [MacCatalyst (14,0)] [Export ("shortcutAvailability", ArgumentSemantic.Assign)] INShortcutAvailabilityOptions ShortcutAvailability { get; set; } @@ -4366,6 +4384,7 @@ namespace Intents { IntPtr Constructor (INPersonHandle personHandle, [NullAllowed] NSPersonNameComponents nameComponents, [NullAllowed] string displayName, [NullAllowed] INImage image, [NullAllowed] string contactIdentifier, [NullAllowed] string customIdentifier); [Watch (7,0), iOS (14,0), Mac (11,0)] + [MacCatalyst (14,0)] [Export ("initWithPersonHandle:nameComponents:displayName:image:contactIdentifier:customIdentifier:relationship:")] IntPtr Constructor (INPersonHandle personHandle, [NullAllowed] NSPersonNameComponents nameComponents, [NullAllowed] string displayName, [NullAllowed] INImage image, [NullAllowed] string contactIdentifier, [NullAllowed] string customIdentifier, [NullAllowed] string relationship); @@ -4565,7 +4584,7 @@ namespace Intents { [iOS (10, 0)] [Watch (3, 2)] [Unavailable (PlatformName.MacOSX)] -#if XAMCORE_4_0 || TVOS +#if XAMCORE_4_0 || TVOS || __MACCATALYST__ [DisableDefaultCtor] #endif [TV (14,0)] @@ -6040,6 +6059,7 @@ namespace Intents { interface INSendMessageIntent { [Watch (7,0), NoMac, iOS (14,0)] + [MacCatalyst (14,0)] [Export ("initWithRecipients:outgoingMessageType:content:speakableGroupName:conversationIdentifier:serviceName:sender:attachments:")] [DesignatedInitializer] IntPtr Constructor ([NullAllowed] INPerson[] recipients, INOutgoingMessageType outgoingMessageType, [NullAllowed] string content, [NullAllowed] INSpeakableString speakableGroupName, [NullAllowed] string conversationIdentifier, [NullAllowed] string serviceName, [NullAllowed] INPerson sender, [NullAllowed] INSendMessageAttachment[] attachments); @@ -6060,6 +6080,7 @@ namespace Intents { INPerson [] Recipients { get; } [Watch (7,0), NoMac, iOS (14,0)] + [MacCatalyst (14,0)] [Export ("outgoingMessageType", ArgumentSemantic.Assign)] INOutgoingMessageType OutgoingMessageType { get; } @@ -6087,6 +6108,7 @@ namespace Intents { INPerson Sender { get; } [Watch (7,0), NoMac, iOS (14,0)] + [MacCatalyst (14,0)] [NullAllowed] [Export ("attachments", ArgumentSemantic.Copy)] INSendMessageAttachment[] Attachments { get; } @@ -6137,6 +6159,7 @@ namespace Intents { void ResolveGroupName (INSendMessageIntent intent, Action completion); [Watch (7,0), NoMac, iOS (14,0)] + [MacCatalyst (14,0)] [Export ("resolveOutgoingMessageTypeForSendMessage:withCompletion:")] void ResolveOutgoingMessageType (INSendMessageIntent intent, Action completion); @@ -7610,10 +7633,12 @@ namespace Intents { INInteraction GetInteraction (); [Watch (7,0), NoTV, NoMac, iOS (14,0)] + [MacCatalyst (14,0)] [Export ("shortcutAvailability")] INShortcutAvailabilityOptions GetShortcutAvailability (); [Watch (7,0), NoTV, NoMac, iOS (14,0)] + [MacCatalyst (14,0)] [Export ("setShortcutAvailability:")] void SetShortcutAvailability (INShortcutAvailabilityOptions shortcutAvailabilityOptions); } @@ -7995,10 +8020,12 @@ namespace Intents { void HandleGetCarPowerLevelStatus (INGetCarPowerLevelStatusIntent intent, Action completion); [NoWatch, iOS (14,0)] + [MacCatalyst (14,0)] [Export ("startSendingUpdatesForGetCarPowerLevelStatus:toObserver:")] void StartSendingUpdates (INGetCarPowerLevelStatusIntent intent, IINGetCarPowerLevelStatusIntentResponseObserver observer); [NoWatch, iOS (14,0)] + [MacCatalyst (14,0)] [Export ("stopSendingUpdatesForGetCarPowerLevelStatus:")] void StopSendingUpdates (INGetCarPowerLevelStatusIntent intent); @@ -8018,6 +8045,7 @@ namespace Intents { interface IINGetCarPowerLevelStatusIntentResponseObserver {} [NoWatch, NoTV, NoMac, iOS (14,0)] + [MacCatalyst (14,0)] [Protocol] interface INGetCarPowerLevelStatusIntentResponseObserver { @@ -8045,6 +8073,7 @@ namespace Intents { INGetCarPowerLevelStatusIntentResponseCode Code { get; } [Watch (7, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [NullAllowed, Export ("carIdentifier")] string CarIdentifier { get; set; } @@ -8076,51 +8105,63 @@ namespace Intents { NSNumber MinutesToFull { get; set; } [Watch (7, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [NullAllowed, Export ("maximumDistance", ArgumentSemantic.Copy)] NSMeasurement MaximumDistance { get; set; } [Watch (7, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [NullAllowed, Export ("distanceRemainingElectric", ArgumentSemantic.Copy)] NSMeasurement DistanceRemainingElectric { get; set; } [Watch (7, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [NullAllowed, Export ("maximumDistanceElectric", ArgumentSemantic.Copy)] NSMeasurement MaximumDistanceElectric { get; set; } [Watch (7, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [NullAllowed, Export ("distanceRemainingFuel", ArgumentSemantic.Copy)] NSMeasurement DistanceRemainingFuel { get; set; } [Watch (7, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [NullAllowed, Export ("maximumDistanceFuel", ArgumentSemantic.Copy)] NSMeasurement MaximumDistanceFuel { get; set; } [Watch (7, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [NullAllowed, Export ("consumptionFormulaArguments", ArgumentSemantic.Copy)] NSDictionary ConsumptionFormulaArguments { get; set; } [Watch (7, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [NullAllowed, Export ("chargingFormulaArguments", ArgumentSemantic.Copy)] NSDictionary ChargingFormulaArguments { get; set; } [Watch (7, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [NullAllowed, Export ("dateOfLastStateUpdate", ArgumentSemantic.Copy)] NSDateComponents DateOfLastStateUpdate { get; set; } [Watch (7, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [BindAs (typeof (INCarChargingConnectorType))] [NullAllowed, Export ("activeConnector")] NSString ActiveConnector { get; set; } [Watch (7, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [NullAllowed, Export ("maximumBatteryCapacity", ArgumentSemantic.Copy)] NSMeasurement MaximumBatteryCapacity { get; set; } [Watch (7, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [NullAllowed, Export ("currentBatteryCapacity", ArgumentSemantic.Copy)] NSMeasurement CurrentBatteryCapacity { get; set; } [Watch (7, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [NullAllowed, Export ("minimumBatteryCapacity", ArgumentSemantic.Copy)] NSMeasurement MinimumBatteryCapacity { get; set; } } @@ -8942,11 +8983,13 @@ namespace Intents { interface INCallRecord : NSCopying, NSSecureCoding { [Watch (7,4), Mac (11,3), iOS (14,5)] + [MacCatalyst (14,5)] [Export ("initWithIdentifier:dateCreated:callRecordType:callCapability:callDuration:unseen:participants:numberOfCalls:isCallerIdBlocked:")] [DesignatedInitializer] IntPtr Constructor (string identifier, [NullAllowed] NSDate dateCreated, INCallRecordType callRecordType, INCallCapability callCapability, [NullAllowed] [BindAs (typeof (double?))] NSNumber callDuration, [NullAllowed] [BindAs (typeof (bool?))] NSNumber unseen, [NullAllowed] INPerson[] participants, [NullAllowed] [BindAs (typeof (int?))] NSNumber numberOfCalls, [NullAllowed] [BindAs (typeof (bool?))] NSNumber isCallerIdBlocked); [Deprecated (PlatformName.iOS, 14, 5, message: "Use '.ctor (string, NSDate, INCallRecordType, INCallCapability, double?, bool?, int?)' instead.")] + [Deprecated (PlatformName.MacCatalyst, 14, 5, message: "Use '.ctor (string, NSDate, INCallRecordType, INCallCapability, double?, bool?, int?)' instead.")] [Deprecated (PlatformName.WatchOS, 7, 4, message: "Use '.ctor (string, NSDate, INCallRecordType, INCallCapability, double?, bool?, int?)' instead.")] [Deprecated (PlatformName.MacOSX, 11, 3, message: "Use '.ctor (string, NSDate, INCallRecordType, INCallCapability, double?, bool?, int?)' instead.")] [Watch (6,0), Mac (10,15), iOS (13,0)] @@ -8954,16 +8997,19 @@ namespace Intents { IntPtr Constructor (string identifier, [NullAllowed] NSDate dateCreated, [NullAllowed] INPerson caller, INCallRecordType callRecordType, INCallCapability callCapability, [NullAllowed] [BindAs (typeof (double?))] NSNumber callDuration, [NullAllowed] [BindAs (typeof (bool?))] NSNumber unseen, [NullAllowed] [BindAs (typeof (int?))] NSNumber numberOfCalls); [Watch (7,4), Mac (11,3), iOS (14,5)] + [MacCatalyst (14,5)] [Export ("initWithIdentifier:dateCreated:callRecordType:callCapability:callDuration:unseen:numberOfCalls:")] IntPtr Constructor (string identifier, [NullAllowed] NSDate dateCreated, INCallRecordType callRecordType, INCallCapability callCapability, [NullAllowed] [BindAs (typeof (double?))] NSNumber callDuration, [NullAllowed] [BindAs (typeof (bool?))] NSNumber unseen, [NullAllowed] [BindAs (typeof (int?))] NSNumber numberOfCalls); [Deprecated (PlatformName.iOS, 14, 5, message: "Use '.ctor (string, NSDate, INCallRecordType, INCallCapability, double?, bool?)' instead.")] + [Deprecated (PlatformName.MacCatalyst, 14, 5, message: "Use '.ctor (string, NSDate, INCallRecordType, INCallCapability, double?, bool?)' instead.")] [Deprecated (PlatformName.WatchOS, 7, 4, message: "Use '.ctor (string, NSDate, INCallRecordType, INCallCapability, double?, bool?)' instead.")] [Deprecated (PlatformName.MacOSX, 11, 3, message: "Use '.ctor (string, NSDate, INCallRecordType, INCallCapability, double?, bool?)' instead.")] [Export ("initWithIdentifier:dateCreated:caller:callRecordType:callCapability:callDuration:unseen:")] IntPtr Constructor (string identifier, [NullAllowed] NSDate dateCreated, [NullAllowed] INPerson caller, INCallRecordType callRecordType, INCallCapability callCapability, [NullAllowed] NSNumber callDuration, [NullAllowed] NSNumber unseen); [Watch (7,4), Mac (11,3), iOS (14,5)] + [MacCatalyst (14,5)] [Export ("initWithIdentifier:dateCreated:callRecordType:callCapability:callDuration:unseen:")] IntPtr Constructor (string identifier, [NullAllowed] NSDate dateCreated, INCallRecordType callRecordType, INCallCapability callCapability, [NullAllowed] [BindAs (typeof (double?))] NSNumber callDuration, [NullAllowed] [BindAs (typeof (bool?))] NSNumber unseen); @@ -8975,6 +9021,7 @@ namespace Intents { [Deprecated (PlatformName.iOS, 14, 5)] [Deprecated (PlatformName.WatchOS, 7, 4)] + [Deprecated (PlatformName.MacCatalyst, 14, 5)] [NullAllowed, Export ("caller", ArgumentSemantic.Copy)] INPerson Caller { get; } @@ -8999,11 +9046,13 @@ namespace Intents { [BindAs (typeof (bool?))] [Watch (7,4), NoMac, iOS (14,5)] + [MacCatalyst (14,5)] [Export ("isCallerIdBlocked", ArgumentSemantic.Copy)] NSNumber IsCallerIdBlocked { get; } [NullAllowed] [Watch (7,4), NoMac, iOS (14,5)] + [MacCatalyst (14,5)] [Export ("participants", ArgumentSemantic.Copy)] INPerson[] Participants { get; } } @@ -9629,6 +9678,7 @@ namespace Intents { IntPtr Constructor (nuint interval, INRecurrenceFrequency frequency); [Watch (7,0), NoMac, iOS (14,0)] + [MacCatalyst (14,0)] [Export ("initWithInterval:frequency:weeklyRecurrenceDays:")] [DesignatedInitializer] IntPtr Constructor (nuint interval, INRecurrenceFrequency frequency, INDayOfWeekOptions weeklyRecurrenceDays); @@ -9640,6 +9690,7 @@ namespace Intents { INRecurrenceFrequency Frequency { get; } [Watch (7,0), NoMac, iOS (14,0)] + [MacCatalyst (14,0)] [Export ("weeklyRecurrenceDays")] INDayOfWeekOptions WeeklyRecurrenceDays { get; } } @@ -10769,10 +10820,12 @@ namespace Intents { IntPtr Constructor ([NullAllowed] string identifier, string displayString); [Watch (7,0), iOS (14,0)] + [MacCatalyst (14,0)] [Export ("initWithIdentifier:displayString:subtitleString:displayImage:")] IntPtr Constructor ([NullAllowed] string identifier, string displayString, [NullAllowed] string subtitleString, [NullAllowed] INImage displayImage); [Watch (7,0), iOS (14,0)] + [MacCatalyst (14,0)] [Export ("initWithIdentifier:displayString:pronunciationHint:subtitleString:displayImage:")] IntPtr Constructor ([NullAllowed] string identifier, string displayString, [NullAllowed] string pronunciationHint, [NullAllowed] string subtitleString, [NullAllowed] INImage displayImage); @@ -10794,10 +10847,12 @@ namespace Intents { INSpeakableString [] GetAlternativeSpeakableMatches (); [Watch (7,0), iOS (14,0)] + [MacCatalyst (14,0)] [NullAllowed, Export ("subtitleString")] string SubtitleString { get; set; } [Watch (7,0), iOS (14,0)] + [MacCatalyst (14,0)] [NullAllowed, Export ("displayImage", ArgumentSemantic.Strong)] INImage DisplayImage { get; set; } @@ -11773,6 +11828,7 @@ namespace Intents { interface INFlightReservation : NSCopying, NSSecureCoding { [Watch (7,0), iOS (14,0)] + [MacCatalyst (14,0)] [Export ("initWithItemReference:reservationNumber:bookingTime:reservationStatus:reservationHolderName:actions:URL:reservedSeat:flight:")] [DesignatedInitializer] IntPtr Constructor (INSpeakableString itemReference, [NullAllowed] string reservationNumber, [NullAllowed] NSDate bookingTime, INReservationStatus reservationStatus, [NullAllowed] string reservationHolderName, [NullAllowed] INReservationAction[] actions, [NullAllowed] NSUrl url, [NullAllowed] INSeat reservedSeat, INFlight flight); @@ -11871,6 +11927,7 @@ namespace Intents { interface INLodgingReservation : NSCopying, NSSecureCoding { [Watch (7,0), iOS (14,0)] + [MacCatalyst (14,0)] [Export ("initWithItemReference:reservationNumber:bookingTime:reservationStatus:reservationHolderName:actions:URL:lodgingBusinessLocation:reservationDuration:numberOfAdults:numberOfChildren:")] [DesignatedInitializer] IntPtr Constructor (INSpeakableString itemReference, [NullAllowed] string reservationNumber, [NullAllowed] NSDate bookingTime, INReservationStatus reservationStatus, [NullAllowed] string reservationHolderName, [NullAllowed] INReservationAction[] actions, [NullAllowed] NSUrl url, CLPlacemark lodgingBusinessLocation, INDateComponentsRange reservationDuration, [NullAllowed] [BindAs (typeof (int?))] NSNumber numberOfAdults, [NullAllowed] [BindAs (typeof (int?))] NSNumber numberOfChildren); @@ -12470,6 +12527,7 @@ namespace Intents { interface INRentalCarReservation : NSCopying, NSSecureCoding { [Watch (7,0), iOS (14,0)] + [MacCatalyst (14,0)] [Export ("initWithItemReference:reservationNumber:bookingTime:reservationStatus:reservationHolderName:actions:URL:rentalCar:rentalDuration:pickupLocation:dropOffLocation:")] [DesignatedInitializer] IntPtr Constructor (INSpeakableString itemReference, [NullAllowed] string reservationNumber, [NullAllowed] NSDate bookingTime, INReservationStatus reservationStatus, [NullAllowed] string reservationHolderName, [NullAllowed] INReservationAction[] actions, [NullAllowed] NSUrl url, INRentalCar rentalCar, INDateComponentsRange rentalDuration, [NullAllowed] CLPlacemark pickupLocation, [NullAllowed] CLPlacemark dropOffLocation); @@ -12514,6 +12572,7 @@ namespace Intents { INReservationAction [] Actions { get; } [Watch (7,0), iOS (14,0)] + [MacCatalyst (14,0)] [NullAllowed, Export ("URL", ArgumentSemantic.Copy)] NSUrl Url { get; } } @@ -12543,6 +12602,7 @@ namespace Intents { interface INRestaurantReservation : NSCopying, NSSecureCoding { [Watch (7,0), iOS (14,0)] + [MacCatalyst (14,0)] [Export ("initWithItemReference:reservationNumber:bookingTime:reservationStatus:reservationHolderName:actions:URL:reservationDuration:partySize:restaurantLocation:")] [DesignatedInitializer] IntPtr Constructor (INSpeakableString itemReference, [NullAllowed] string reservationNumber, [NullAllowed] NSDate bookingTime, INReservationStatus reservationStatus, [NullAllowed] string reservationHolderName, [NullAllowed] INReservationAction[] actions, [NullAllowed] NSUrl url, INDateComponentsRange reservationDuration, [NullAllowed] [BindAs (typeof (int?))] NSNumber partySize, CLPlacemark restaurantLocation); @@ -12960,6 +13020,7 @@ namespace Intents { interface INStartCallIntent { [Watch (7,0), NoTV, NoMac, iOS (14,0)] + [MacCatalyst (14,0)] [Export ("initWithCallRecordFilter:callRecordToCallBack:audioRoute:destinationType:contacts:callCapability:")] [DesignatedInitializer] IntPtr Constructor ([NullAllowed] INCallRecordFilter callRecordFilter, [NullAllowed] INCallRecord callRecordToCallBack, INCallAudioRoute audioRoute, INCallDestinationType destinationType, [NullAllowed] INPerson[] contacts, INCallCapability callCapability); @@ -12970,11 +13031,13 @@ namespace Intents { IntPtr Constructor (INCallAudioRoute audioRoute, INCallDestinationType destinationType, [NullAllowed] INPerson[] contacts, INCallRecordType recordTypeForRedialing, INCallCapability callCapability); [Watch (7,0), NoTV, NoMac, iOS (14,0)] + [MacCatalyst (14,0)] [NullAllowed] [Export ("callRecordFilter", ArgumentSemantic.Copy)] INCallRecordFilter CallRecordFilter { get; } [Watch (7,0), NoTV, NoMac, iOS (14,0)] + [MacCatalyst (14,0)] [NullAllowed] [Export ("callRecordToCallBack", ArgumentSemantic.Copy)] INCallRecord CallRecordToCallBack { get; } @@ -13009,6 +13072,7 @@ namespace Intents { void Confirm (INStartCallIntent intent, Action completion); [Watch (7,0), NoTV, NoMac, iOS (14,0)] + [MacCatalyst (14,0)] [Export ("resolveCallRecordToCallBackForStartCall:withCompletion:")] void ResolveCallRecordToCallBack (INStartCallIntent intent, Action completion); @@ -13147,6 +13211,7 @@ namespace Intents { interface INTicketedEventReservation : NSCopying, NSSecureCoding { [Watch (7,0), iOS (14,0)] + [MacCatalyst (14,0)] [Export ("initWithItemReference:reservationNumber:bookingTime:reservationStatus:reservationHolderName:actions:URL:reservedSeat:event:")] [DesignatedInitializer] IntPtr Constructor (INSpeakableString itemReference, [NullAllowed] string reservationNumber, [NullAllowed] NSDate bookingTime, INReservationStatus reservationStatus, [NullAllowed] string reservationHolderName, [NullAllowed] INReservationAction[] actions, [NullAllowed] NSUrl url, [NullAllowed] INSeat reservedSeat, INTicketedEvent @event); @@ -13209,6 +13274,7 @@ namespace Intents { interface INTrainReservation : NSCopying, NSSecureCoding { [Watch (7,0), iOS (14,0)] + [MacCatalyst (14,0)] [Export ("initWithItemReference:reservationNumber:bookingTime:reservationStatus:reservationHolderName:actions:URL:reservedSeat:trainTrip:")] [DesignatedInitializer] IntPtr Constructor (INSpeakableString itemReference, [NullAllowed] string reservationNumber, [NullAllowed] NSDate bookingTime, INReservationStatus reservationStatus, [NullAllowed] string reservationHolderName, [NullAllowed] INReservationAction[] actions, [NullAllowed] NSUrl url, [NullAllowed] INSeat reservedSeat, INTrainTrip trainTrip); @@ -13604,6 +13670,7 @@ namespace Intents { } [Watch (7,0), NoTV, Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (INReservation))] [DisableDefaultCtor] interface INBoatReservation : NSCopying, NSSecureCoding { @@ -13620,6 +13687,7 @@ namespace Intents { } [Watch (7,0), NoTV, Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface INBoatTrip : NSCopying, NSSecureCoding { @@ -13648,6 +13716,7 @@ namespace Intents { } [Watch (7,0), NoTV, Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (INReservation))] [DisableDefaultCtor] interface INBusReservation : NSCopying, NSSecureCoding { @@ -13664,6 +13733,7 @@ namespace Intents { } [Watch (7,0), NoTV, Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface INBusTrip : NSCopying, NSSecureCoding { @@ -13698,6 +13768,7 @@ namespace Intents { } [Watch (7,0), NoTV, NoMac, iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface INCallRecordFilter : NSCopying, NSSecureCoding { @@ -13717,6 +13788,7 @@ namespace Intents { } [Watch (7,0), NoTV, NoMac, iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (INIntentResolutionResult))] interface INCallRecordResolutionResult { @@ -13762,6 +13834,7 @@ namespace Intents { } [Watch (7,0), NoTV, NoMac, iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface INCar : NSCopying, NSSecureCoding { @@ -13804,6 +13877,7 @@ namespace Intents { } [Watch (7,0), NoTV, NoMac, iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface INCarHeadUnit : NSCopying, NSSecureCoding { @@ -13820,6 +13894,7 @@ namespace Intents { } [Watch (7,0), NoTV, NoMac, iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (INIntent))] [DesignatedDefaultCtor] interface INListCarsIntent { @@ -13829,6 +13904,7 @@ namespace Intents { interface IINListCarsIntentHandling { } [Watch (7,0), NoTV, NoMac, iOS (14,0)] + [MacCatalyst (14,0)] [Protocol] interface INListCarsIntentHandling { @@ -13841,6 +13917,7 @@ namespace Intents { } [Watch (7,0), NoTV, NoMac, iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (INIntentResponse))] [DisableDefaultCtor] interface INListCarsIntentResponse { @@ -13857,6 +13934,7 @@ namespace Intents { } [Watch (7,0), NoTV, Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface INObjectCollection : NSCopying, NSSecureCoding @@ -13880,6 +13958,7 @@ namespace Intents { } [Watch (7,0), NoTV, Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface INObjectSection : NSCopying, NSSecureCoding @@ -13897,6 +13976,7 @@ namespace Intents { } [Watch (7,0), NoTV, NoMac, iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (INIntentResolutionResult))] [DisableDefaultCtor] interface INOutgoingMessageTypeResolutionResult { @@ -13939,6 +14019,7 @@ namespace Intents { } [Watch (7,0), NoTV, NoMac, iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface INSendMessageAttachment { @@ -13952,6 +14033,7 @@ namespace Intents { } [Watch (7,0), NoTV, NoMac, iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (INCallRecordResolutionResult))] [DisableDefaultCtor] interface INStartCallCallRecordToCallBackResolutionResult { @@ -14005,6 +14087,7 @@ namespace Intents { } [Watch (7,4), NoTV, Mac (11,3), iOS (14,5)] + [MacCatalyst (14,5)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface INCallGroup : NSCopying, NSSecureCoding { diff --git a/src/mapkit.cs b/src/mapkit.cs index a8a3c7ad40..2cde75de89 100644 --- a/src/mapkit.cs +++ b/src/mapkit.cs @@ -197,10 +197,12 @@ namespace MapKit { void PrepareForDisplay (); [TV (14, 0), NoWatch, Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [Export ("zPriority")] float ZPriority { get; set; } [TV (14, 0), NoWatch, Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [Export ("selectedZPriority")] float SelectedZPriority { get; set; } } @@ -1146,10 +1148,12 @@ namespace MapKit { void GetCoords (IntPtr dest, NSRange range); [TV (14,0), NoWatch, Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [Export ("locationAtPointIndex:")] nfloat GetLocation (nuint pointIndex); [TV (14,0), NoWatch, Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [return: BindAs (typeof (nfloat []))] [Export ("locationsAtPointIndexes:")] NSNumber[] GetLocations (NSIndexSet indexes); @@ -1213,6 +1217,7 @@ namespace MapKit { IntPtr Constructor (MKLocalSearchRequest request); [TV (14,0), NoWatch, Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [Export ("initWithPointsOfInterestRequest:")] [DesignatedInitializer] IntPtr Constructor (MKLocalPointsOfInterestRequest request); @@ -1291,10 +1296,12 @@ namespace MapKit { MKCircle Circle { get; } [TV (14, 0), NoWatch, Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [Export ("strokeStart")] nfloat StrokeStart { get; set; } [TV (14, 0), NoWatch, Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [Export ("strokeEnd")] nfloat StrokeEnd { get; set; } } @@ -1723,10 +1730,12 @@ namespace MapKit { MKPolygon Polygon { get; } [TV (14, 0), NoWatch, Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [Export ("strokeStart")] nfloat StrokeStart { get; set; } [TV (14, 0), NoWatch, Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [Export ("strokeEnd")] nfloat StrokeEnd { get; set; } } @@ -1743,15 +1752,18 @@ namespace MapKit { MKPolyline Polyline { get; } [TV (14, 0), NoWatch, Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [Export ("strokeStart")] nfloat StrokeStart { get; set; } [TV (14, 0), NoWatch, Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [Export ("strokeEnd")] nfloat StrokeEnd { get; set; } } [TV (14, 0), NoWatch, Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [BaseType (typeof (MKPolylineRenderer))] partial interface MKGradientPolylineRenderer { @@ -2177,6 +2189,7 @@ namespace MapKit { } [TV (14, 0), NoWatch, Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [BaseType (typeof(NSObject))] [DisableDefaultCtor] interface MKLocalPointsOfInterestRequest : NSCopying diff --git a/src/mediaplayer.cs b/src/mediaplayer.cs index 6aadb82bf0..b9321966f6 100644 --- a/src/mediaplayer.cs +++ b/src/mediaplayer.cs @@ -247,6 +247,7 @@ namespace MediaPlayer { NSString PlaybackStoreIDProperty { get; } [Watch (7,4), TV (14,5), Mac (11,3), iOS (14,5)] + [MacCatalyst (14,5)] [EditorBrowsable (EditorBrowsableState.Advanced)] [Field ("MPMediaItemPropertyIsPreorder")] NSString IsPreorderProperty { get; } @@ -475,6 +476,7 @@ namespace MediaPlayer { void AddMediaItems (MPMediaItem[] mediaItems, [NullAllowed] Action completionHandler); [iOS (14,0)] + [MacCatalyst (14,0)] [NullAllowed, Export ("cloudGlobalID")] string CloudGlobalId { get; } } @@ -815,6 +817,7 @@ namespace MediaPlayer { #else [NoTV] [Availability (Deprecated = Platform.iOS_9_0, Message = "Use 'AVPlayerViewController' (AVKit) instead.")] + [MacCatalyst (14,0)] // docs says 13.0 but this throws: NSInvalidArgumentException Reason: MPMoviePlayerController is no longer available. Use AVPlayerViewController in AVKit. [BaseType (typeof (NSObject))] interface MPMoviePlayerController : MPMediaPlayback { #endif @@ -1159,6 +1162,7 @@ namespace MediaPlayer { [NoTV] [BaseType (typeof (UIViewController))] [Availability (Deprecated = Platform.iOS_9_0, Message = "Use 'AVPlayerViewController' (AVKit) instead.")] + [MacCatalyst (14,0)] // docs says 13.0 but this throws: NSInvalidArgumentException Reason: MPMoviePlayerViewController is no longer available. Use AVPlayerViewController in AVKit. interface MPMoviePlayerViewController { [DesignatedInitializer] [Export ("initWithContentURL:")] @@ -1394,7 +1398,6 @@ namespace MediaPlayer { [NoiOS] [NoTV] - [Introduced (PlatformName.MacCatalyst, 13, 0)] [Export ("playbackState")] MPNowPlayingPlaybackState PlaybackState { get; set; } diff --git a/src/metal.cs b/src/metal.cs index 7137128f67..887b9e9dc6 100644 --- a/src/metal.cs +++ b/src/metal.cs @@ -4667,6 +4667,7 @@ namespace Metal { } [Mac (11,0), iOS (14,0), NoTV] + [MacCatalyst (14,0)] [DisableDefaultCtor] [BaseType (typeof (MTLAccelerationStructureGeometryDescriptor))] interface MTLAccelerationStructureBoundingBoxGeometryDescriptor { @@ -4688,6 +4689,7 @@ namespace Metal { } [Mac (11,0), iOS (14,0), NoTV] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] interface MTLAccelerationStructureDescriptor : NSCopying { [Export ("usage", ArgumentSemantic.Assign)] @@ -4695,6 +4697,7 @@ namespace Metal { } [Mac (11,0), iOS (14,0), NoTV] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] interface MTLAccelerationStructureGeometryDescriptor : NSCopying { [Export ("intersectionFunctionTableOffset")] @@ -4708,6 +4711,7 @@ namespace Metal { } [Mac (11,0), iOS (14,0), NoTV] + [MacCatalyst (14,0)] [BaseType (typeof (MTLAccelerationStructureGeometryDescriptor))] interface MTLAccelerationStructureTriangleGeometryDescriptor { [NullAllowed, Export ("vertexBuffer", ArgumentSemantic.Retain)] @@ -4744,6 +4748,7 @@ namespace Metal { } [Mac (11,0), iOS (14,0), TV (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] interface MTLBlitPassDescriptor : NSCopying { @@ -4756,6 +4761,7 @@ namespace Metal { } [Mac (11,0), iOS (14,0), TV (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] interface MTLBlitPassSampleBufferAttachmentDescriptor : NSCopying { [NullAllowed, Export ("sampleBuffer", ArgumentSemantic.Retain)] @@ -4769,6 +4775,7 @@ namespace Metal { } [Mac (11,0), iOS (14,0), TV (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] interface MTLBlitPassSampleBufferAttachmentDescriptorArray { [Export ("objectAtIndexedSubscript:")] @@ -4779,6 +4786,7 @@ namespace Metal { } [Mac (11,0), iOS (14,0), TV (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] interface MTLCommandBufferDescriptor : NSCopying { @@ -4793,6 +4801,7 @@ namespace Metal { } [Mac (11,0), iOS (14,0), TV (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] interface MTLComputePassDescriptor : NSCopying { [Static] @@ -4807,6 +4816,7 @@ namespace Metal { } [Mac (11,0), iOS (14,0), TV (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] interface MTLComputePassSampleBufferAttachmentDescriptor : NSCopying { @@ -4821,6 +4831,7 @@ namespace Metal { } [Mac (11,0), iOS (14,0), TV (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] interface MTLComputePassSampleBufferAttachmentDescriptorArray { [Export ("objectAtIndexedSubscript:")] @@ -4831,6 +4842,7 @@ namespace Metal { } [Mac (11,0), iOS (14,0), TV (14,0)] + [MacCatalyst (14,0)] [DisableDefaultCtor] [BaseType (typeof (NSObject))] interface MTLFunctionDescriptor : NSCopying { @@ -4852,6 +4864,7 @@ namespace Metal { } [Mac (11,0), iOS (14,0), NoTV] + [MacCatalyst (14,0)] [DisableDefaultCtor] [BaseType (typeof (MTLAccelerationStructureDescriptor))] interface MTLInstanceAccelerationStructureDescriptor { @@ -4876,11 +4889,13 @@ namespace Metal { } [Mac (11,0), iOS (14,0), NoTV] + [MacCatalyst (14,0)] [DisableDefaultCtor] [BaseType (typeof (MTLFunctionDescriptor))] interface MTLIntersectionFunctionDescriptor : NSCopying {} [Mac (11,0), iOS (14,0), NoTV] + [MacCatalyst (14,0)] [DisableDefaultCtor] [BaseType (typeof (NSObject))] interface MTLIntersectionFunctionTableDescriptor : NSCopying { @@ -4893,6 +4908,7 @@ namespace Metal { } [Mac (11,0), iOS (14,0), TV (14,0)] + [MacCatalyst (14,0)] [DisableDefaultCtor] [BaseType (typeof (NSObject))] interface MTLLinkedFunctions : NSCopying { @@ -4912,6 +4928,7 @@ namespace Metal { } [Mac (11,0), iOS (14,0), NoTV] + [MacCatalyst (14,0)] [DisableDefaultCtor] [BaseType (typeof (MTLAccelerationStructureDescriptor))] interface MTLPrimitiveAccelerationStructureDescriptor { @@ -4924,6 +4941,7 @@ namespace Metal { } [Mac (11,0), iOS (14,0), TV (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] interface MTLRenderPassSampleBufferAttachmentDescriptor : NSCopying { [NullAllowed, Export ("sampleBuffer", ArgumentSemantic.Retain)] @@ -4943,6 +4961,7 @@ namespace Metal { } [Mac (11,0), iOS (14,0), TV (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] interface MTLRenderPassSampleBufferAttachmentDescriptorArray { [Export ("objectAtIndexedSubscript:")] @@ -4954,6 +4973,7 @@ namespace Metal { } [Mac (11,0), iOS (14,0), NoTV] + [MacCatalyst (14,0)] [DisableDefaultCtor] [BaseType (typeof (NSObject))] interface MTLResourceStatePassDescriptor : NSCopying { @@ -4966,6 +4986,7 @@ namespace Metal { } [Mac (11,0), iOS (14,0), NoTV] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] interface MTLResourceStatePassSampleBufferAttachmentDescriptor : NSCopying { [NullAllowed, Export ("sampleBuffer", ArgumentSemantic.Retain)] @@ -4979,6 +5000,7 @@ namespace Metal { } [Mac (11,0), iOS (14,0), NoTV] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] interface MTLResourceStatePassSampleBufferAttachmentDescriptorArray { [Export ("objectAtIndexedSubscript:")] @@ -4990,6 +5012,7 @@ namespace Metal { } [Mac (11,0), iOS (14,0), NoTV] + [MacCatalyst (14,0)] [DisableDefaultCtor] [BaseType (typeof (NSObject))] interface MTLVisibleFunctionTableDescriptor : NSCopying { @@ -5004,6 +5027,7 @@ namespace Metal { interface IMTLFunctionHandle {} [Mac (11,0), iOS (14,0), NoTV] + [MacCatalyst (14,0)] [Protocol] interface MTLFunctionHandle { [Abstract] @@ -5022,6 +5046,7 @@ namespace Metal { interface IMTLAccelerationStructureCommandEncoder {} [Mac (11,0), iOS (14,0), NoTV] + [MacCatalyst (14,0)] [Protocol] interface MTLAccelerationStructureCommandEncoder : MTLCommandEncoder { [Abstract] @@ -5076,6 +5101,7 @@ namespace Metal { interface IMTLVisibleFunctionTable {} [Mac (11,0), iOS (14,0), NoTV] + [MacCatalyst (14,0)] [Protocol] interface MTLVisibleFunctionTable : MTLResource { [Abstract] @@ -5090,6 +5116,7 @@ namespace Metal { interface IMTLIntersectionFunctionTable {} [Mac (11,0), iOS (14,0), NoTV] + [MacCatalyst (14,0)] [Protocol] interface MTLIntersectionFunctionTable : MTLResource { [Abstract] @@ -5126,6 +5153,7 @@ namespace Metal { } [Mac (11,0), iOS (14,0), TV (14,0)] + [MacCatalyst (14,0)] [Protocol] interface MTLCommandBufferEncoderInfo { @@ -5145,6 +5173,7 @@ namespace Metal { interface IMTLDynamicLibrary {} [Mac (11,0), iOS (14,0), TV (14,0)] + [MacCatalyst (14,0)] [Protocol] interface MTLDynamicLibrary { @@ -5168,12 +5197,14 @@ namespace Metal { interface IMTLLogContainer {} [Mac (11,0), iOS (14,0), TV (14,0)] + [MacCatalyst (14,0)] [Protocol] interface MTLLogContainer { } [Mac (11,0), iOS (14,0), TV (14,0)] + [MacCatalyst (14,0)] [Protocol] interface MTLFunctionLog { [Abstract] @@ -5196,6 +5227,7 @@ namespace Metal { interface IMTLFunctionLogDebugLocation {} [Mac (11,0), iOS (14,0), TV (14,0)] + [MacCatalyst (14,0)] [Protocol] interface MTLFunctionLogDebugLocation { [Abstract] diff --git a/src/metalperformanceshaders.cs b/src/metalperformanceshaders.cs index 245f66af8e..5defe9d6ef 100644 --- a/src/metalperformanceshaders.cs +++ b/src/metalperformanceshaders.cs @@ -644,7 +644,7 @@ namespace MetalPerformanceShaders { // MPSKernel.h - [iOS (9,0)][Mac (10, 13)][Introduced (PlatformName.MacCatalyst, 13, 0)] + [iOS (9,0)][Mac (10, 13)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface MPSKernel : NSCopying, NSSecureCoding { @@ -1575,7 +1575,7 @@ namespace MetalPerformanceShaders { // MPSImage.h - [iOS (10,0)][TV (10,0)][Mac (10, 13)][Introduced (PlatformName.MacCatalyst, 13, 0)] + [iOS (10,0)][TV (10,0)][Mac (10, 13)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface MPSImageDescriptor : NSCopying { @@ -1616,7 +1616,7 @@ namespace MetalPerformanceShaders { MPSImageDescriptor GetImageDescriptor (MPSImageFeatureChannelFormat channelFormat, nuint width, nuint height, nuint featureChannels, nuint numberOfImages, MTLTextureUsage usage); } - [iOS (10,0)][TV (10,0)][Mac (10, 13)][Introduced (PlatformName.MacCatalyst, 13, 0)] + [iOS (10,0)][TV (10,0)][Mac (10, 13)] [Native][Flags] public enum MPSPurgeableState : ulong { AllocationDeferred = 0, @@ -1626,7 +1626,7 @@ namespace MetalPerformanceShaders { Empty = MTLPurgeableState.Empty } - [iOS (10,0)][TV (10,0)][Mac (10, 13)][Introduced (PlatformName.MacCatalyst, 13, 0)] + [iOS (10,0)][TV (10,0)][Mac (10, 13)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface MPSImage { @@ -1663,7 +1663,6 @@ namespace MetalPerformanceShaders { [Export ("usage")] MTLTextureUsage Usage { get; } - [Introduced (PlatformName.MacCatalyst, 13, 0)] [TV (13,0), Mac (10,15), iOS (13,0)] [Export ("featureChannelFormat")] MPSImageFeatureChannelFormat FeatureChannelFormat { get; } @@ -1743,7 +1742,7 @@ namespace MetalPerformanceShaders { void Synchronize (IMTLCommandBuffer commandBuffer); } - [iOS (10,0)][TV (10,0)][Mac (10, 13)][Introduced (PlatformName.MacCatalyst, 13, 0)] + [iOS (10,0)][TV (10,0)][Mac (10, 13)] [BaseType (typeof (MPSImage))] [DisableDefaultCtor] interface MPSTemporaryImage { @@ -1779,7 +1778,6 @@ namespace MetalPerformanceShaders { nuint ReadCount { get; set; } } - [Introduced (PlatformName.MacCatalyst, 13, 0)] [TV (13,0), Mac (10,15), iOS (13,0)] [BaseType (typeof(NSObject))] interface MPSPredicate @@ -1818,7 +1816,6 @@ namespace MetalPerformanceShaders { void RetireHeap (IMTLHeap heap, double seconds); } - [Introduced (PlatformName.MacCatalyst, 13, 0)] [TV (13,0), Mac (10,15), iOS (13,0)] [BaseType (typeof(NSObject))] [DisableDefaultCtor] @@ -1882,7 +1879,6 @@ namespace MetalPerformanceShaders { // MPSMatrix.h - [Introduced (PlatformName.MacCatalyst, 13, 0)] [iOS (10,0)][TV (10,0)][Mac (10, 13)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] @@ -1914,36 +1910,30 @@ namespace MetalPerformanceShaders { [Export ("rowBytesFromColumns:dataType:")] nuint GetRowBytesFromColumns (nuint columns, MPSDataType dataType); - [Introduced (PlatformName.MacCatalyst, 13, 0)] [TV (11, 0), iOS (11, 0)] [Export ("matrices")] nuint Matrices { get; } - [Introduced (PlatformName.MacCatalyst, 13, 0)] [TV (11, 0), iOS (11, 0)] [Export ("matrixBytes")] nuint MatrixBytes { get; } - [Introduced (PlatformName.MacCatalyst, 13, 0)] [TV (11,0), iOS (11,0)] [Static] [Export ("matrixDescriptorWithRows:columns:rowBytes:dataType:")] MPSMatrixDescriptor GetMatrixDescriptor (nuint rows, nuint columns, nuint rowBytes, MPSDataType dataType); - [Introduced (PlatformName.MacCatalyst, 13, 0)] [TV (11,0), iOS (11,0)] [Static] [Export ("matrixDescriptorWithRows:columns:matrices:rowBytes:matrixBytes:dataType:")] MPSMatrixDescriptor GetMatrixDescriptor (nuint rows, nuint columns, nuint matrices, nuint rowBytes, nuint matrixBytes, MPSDataType dataType); - [Introduced (PlatformName.MacCatalyst, 13, 0)] [TV (11,0), iOS (11,0)] [Static] [Export ("rowBytesForColumns:dataType:")] nuint GetRowBytesForColumns (nuint columns, MPSDataType dataType); } - [Introduced (PlatformName.MacCatalyst, 13, 0)] [iOS (10,0)][TV (10,0)][Mac (10, 13)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] // init NS_UNAVAILABLE; @@ -1970,32 +1960,26 @@ namespace MetalPerformanceShaders { [Export ("initWithBuffer:descriptor:")] IntPtr Constructor (IMTLBuffer buffer, MPSMatrixDescriptor descriptor); - [Introduced (PlatformName.MacCatalyst, 13, 0)] [TV (13,0), Mac (10,15), iOS (13,0)] [Export ("initWithBuffer:offset:descriptor:")] IntPtr Constructor (IMTLBuffer buffer, nuint offset, MPSMatrixDescriptor descriptor); - [Introduced (PlatformName.MacCatalyst, 13, 0)] [TV (11,3), Mac (10,13,4), iOS (11,3)] [Export ("initWithDevice:descriptor:")] IntPtr Constructor (IMTLDevice device, MPSMatrixDescriptor descriptor); - [Introduced (PlatformName.MacCatalyst, 13, 0)] [TV (11,3), Mac (10,13,4), iOS (11,3)] [Export ("synchronizeOnCommandBuffer:")] void Synchronize (IMTLCommandBuffer commandBuffer); - [Introduced (PlatformName.MacCatalyst, 13, 0)] [TV (11,3), Mac (10,13,4), iOS (11,3)] [Export ("resourceSize")] nuint ResourceSize { get; } - [Introduced (PlatformName.MacCatalyst, 13, 0)] [TV (11, 0), iOS (11, 0)] [Export ("matrices")] nuint Matrices { get; } - [Introduced (PlatformName.MacCatalyst, 13, 0)] [TV (11, 0), iOS (11, 0)] [Export ("matrixBytes")] nuint MatrixBytes { get; } @@ -2047,7 +2031,6 @@ namespace MetalPerformanceShaders { nuint BatchSize { get; set; } } - [Introduced (PlatformName.MacCatalyst, 13, 0)] [TV (11,0), Mac (10, 13), iOS (11,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] @@ -2080,12 +2063,10 @@ namespace MetalPerformanceShaders { [Export ("initWithResource:")] IntPtr Constructor ([NullAllowed] IMTLResource resource); - [Introduced (PlatformName.MacCatalyst, 13, 0)] [iOS (11,3), TV (11,3), Mac (10,13,4)] [Export ("initWithDevice:resourceList:")] IntPtr Constructor (IMTLDevice device, MPSStateResourceList resourceList); - [Introduced (PlatformName.MacCatalyst, 13, 0)] [iOS (11,3), TV (11,3), Mac (10,13,4)] [Static] [Export ("temporaryStateWithCommandBuffer:resourceList:")] @@ -2125,12 +2106,10 @@ namespace MetalPerformanceShaders { [Export ("resourceTypeAtIndex:")] MPSStateResourceType GetResourceType (nuint index); - [Introduced (PlatformName.MacCatalyst, 13, 0)] [iOS (11,3), TV (11,3), Mac (10,13,4)] [Export ("synchronizeOnCommandBuffer:")] void Synchronize (IMTLCommandBuffer commandBuffer); - [Introduced (PlatformName.MacCatalyst, 13, 0)] [iOS (11,3), TV (11,3), Mac (10,13,4)] [Export ("resourceSize")] nuint ResourceSize { get; } @@ -2147,7 +2126,6 @@ namespace MetalPerformanceShaders { IMTLResource Resource { get; } } - [Introduced (PlatformName.MacCatalyst, 13, 0)] [TV (11,0), Mac (10, 13), iOS (11,0)] [BaseType (typeof(MPSMatrix))] [DisableDefaultCtor] @@ -2164,7 +2142,6 @@ namespace MetalPerformanceShaders { nuint ReadCount { get; set; } } - [Introduced (PlatformName.MacCatalyst, 13, 0)] [TV (11,0), Mac (10, 13), iOS (11,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] @@ -2190,22 +2167,18 @@ namespace MetalPerformanceShaders { [Export ("initWithBuffer:descriptor:")] IntPtr Constructor (IMTLBuffer buffer, MPSVectorDescriptor descriptor); - [Introduced (PlatformName.MacCatalyst, 13, 0)] [TV (13,0), Mac (10,15), iOS (13,0)] [Export ("initWithBuffer:offset:descriptor:")] IntPtr Constructor (IMTLBuffer buffer, nuint offset, MPSVectorDescriptor descriptor); - [Introduced (PlatformName.MacCatalyst, 13, 0)] [TV (11,3), Mac (10,13,4), iOS (11,3)] [Export ("initWithDevice:descriptor:")] IntPtr Constructor (IMTLDevice device, MPSVectorDescriptor descriptor); - [Introduced (PlatformName.MacCatalyst, 13, 0)] [TV (11,3), Mac (10,13,4), iOS (11,3)] [Export ("synchronizeOnCommandBuffer:")] void Synchronize (IMTLCommandBuffer commandBuffer); - [Introduced (PlatformName.MacCatalyst, 13, 0)] [TV (11,3), Mac (10,13,4), iOS (11,3)] [Export ("resourceSize")] nuint ResourceSize { get; } @@ -2215,7 +2188,6 @@ namespace MetalPerformanceShaders { nuint Offset { get; } } - [Introduced (PlatformName.MacCatalyst, 13, 0)] [TV (11,0), Mac (10, 13), iOS (11,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] @@ -2475,7 +2447,6 @@ namespace MetalPerformanceShaders { IntPtr Constructor (NSCoder aDecoder, IMTLDevice device); } - [Introduced (PlatformName.MacCatalyst, 13, 0)] [TV (13,0), Mac (10,15), iOS (13,0)] [BaseType (typeof(NSObject))] interface MPSMatrixRandomDistributionDescriptor : NSCopying @@ -2505,7 +2476,6 @@ namespace MetalPerformanceShaders { } [DisableDefaultCtor] - [Introduced (PlatformName.MacCatalyst, 13, 0)] [TV (13,0), Mac (10,15), iOS (13,0)] [BaseType (typeof(MPSKernel))] interface MPSMatrixRandom @@ -2530,7 +2500,6 @@ namespace MetalPerformanceShaders { } [DisableDefaultCtor] - [Introduced (PlatformName.MacCatalyst, 13, 0)] [TV (13,0), Mac (10,15), iOS (13,0)] [BaseType (typeof (MPSMatrixRandom), Name = "MPSMatrixRandomMTGP32")] interface MPSMatrixRandomMtgp32 @@ -2554,7 +2523,6 @@ namespace MetalPerformanceShaders { } [DisableDefaultCtor] - [Introduced (PlatformName.MacCatalyst, 13, 0)] [TV (13,0), Mac (10,15), iOS (13,0)] [BaseType (typeof(MPSMatrixRandom))] interface MPSMatrixRandomPhilox @@ -3746,7 +3714,6 @@ namespace MetalPerformanceShaders { [TV (12,0), Mac (10,14), iOS (12,0)] delegate void MPSGradientNodeHandler (MPSNNFilterNode gradientNode, MPSNNFilterNode inferenceNode, MPSNNImageNode inferenceSource, MPSNNImageNode gradientSource); - [Introduced (PlatformName.MacCatalyst, 13, 0)] [TV (11,0), Mac (10, 13), iOS (11,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] @@ -3766,27 +3733,22 @@ namespace MetalPerformanceShaders { [NullAllowed, Export ("label")] string Label { get; set; } - [Introduced (PlatformName.MacCatalyst, 13, 0)] [TV (12,0), Mac (10,14), iOS (12,0)] [Export ("gradientFilterWithSource:")] MPSNNGradientFilterNode GetFilter (MPSNNImageNode gradientImageSource); - [Introduced (PlatformName.MacCatalyst, 13, 0)] [TV (12,0), Mac (10,14), iOS (12,0)] [Export ("gradientFilterWithSources:")] MPSNNGradientFilterNode GetFilter (MPSNNImageNode[] gradientImagesSources); - [Introduced (PlatformName.MacCatalyst, 13, 0)] [TV (12,0), Mac (10,14), iOS (12,0)] [Export ("gradientFiltersWithSources:")] MPSNNGradientFilterNode [] GetFilters (MPSNNImageNode[] gradientImagesSources); - [Introduced (PlatformName.MacCatalyst, 13, 0)] [TV (12,0), Mac (10,14), iOS (12,0)] [Export ("gradientFiltersWithSource:")] MPSNNGradientFilterNode [] GetFilters (MPSNNImageNode gradientImageSource); - [Introduced (PlatformName.MacCatalyst, 13, 0)] [TV (12,0), Mac (10,14), iOS (12,0)] [Export ("trainingGraphWithSourceGradient:nodeHandler:")] [return: NullAllowed] @@ -3878,18 +3840,15 @@ namespace MetalPerformanceShaders { IntPtr InitWithSource (MPSNNImageNode sourceNode, IMPSCnnConvolutionDataSource weights, [NullAllowed] IntPtr outputBiasTerms, [NullAllowed] IntPtr outputScaleTerms, [NullAllowed] IntPtr inputBiasTerms, [NullAllowed] IntPtr inputScaleTerms, MPSCnnBinaryConvolutionType type, MPSCnnBinaryConvolutionFlags flags); } - [Introduced (PlatformName.MacCatalyst, 13, 0)] [TV (11,0), Mac (10, 13), iOS (11,0)] [BaseType (typeof (MPSCnnConvolutionNode), Name = "MPSCNNConvolutionTransposeNode")] [DisableDefaultCtor] // 'init' is unavailable interface MPSCnnConvolutionTransposeNode { - [Introduced (PlatformName.MacCatalyst, 13, 0)] [TV (11,3), Mac (10,13,4), iOS (11,3)] [Static] [Export ("nodeWithSource:convolutionGradientState:weights:")] MPSCnnConvolutionTransposeNode Create (MPSNNImageNode sourceNode, [NullAllowed] MPSCnnConvolutionGradientStateNode convolutionGradientState, IMPSCnnConvolutionDataSource weights); - [Introduced (PlatformName.MacCatalyst, 13, 0)] [TV (11,3), Mac (10,13,4), iOS (11,3)] [Export ("initWithSource:convolutionGradientState:weights:")] IntPtr Constructor (MPSNNImageNode sourceNode, [NullAllowed] MPSCnnConvolutionGradientStateNode convolutionGradientState, IMPSCnnConvolutionDataSource weights); @@ -5305,7 +5264,6 @@ namespace MetalPerformanceShaders { } [DisableDefaultCtor] - [Introduced (PlatformName.MacCatalyst, 13, 0)] [TV (13,0), Mac (10,15), iOS (13,0)] [BaseType (typeof(MPSNNFilterNode))] interface MPSNNForwardLossNode @@ -5369,7 +5327,6 @@ namespace MetalPerformanceShaders { } [DisableDefaultCtor] - [Introduced (PlatformName.MacCatalyst, 13, 0)] [TV (13,0), Mac (10,15,0), iOS (13,0)] [BaseType (typeof(MPSNNGradientFilterNode))] interface MPSNNLossGradientNode @@ -5424,7 +5381,6 @@ namespace MetalPerformanceShaders { } [DisableDefaultCtor] - [Introduced (PlatformName.MacCatalyst, 13, 0)] [TV (13,0), Mac (10,15,0), iOS (13,0)] [BaseType (typeof(MPSNNFilterNode))] interface MPSNNInitialGradientNode @@ -5462,13 +5418,11 @@ namespace MetalPerformanceShaders { // Not added because the generated constructor is too hard to use // and there is an alternative Create method that accomplishes the same // with a bool[] - // [Introduced (PlatformName.MacCatalyst, 13, 0)] // [TV (13,0), Mac (10,15), iOS (13,0)] // [Export ("initWithDevice:resultImages:resultsAreNeeded:")] // [DesignatedInitializer] // IntPtr Constructor (IMTLDevice device, MPSNNImageNode[] resultImages, IntPtr resultsAreNeeded); - [Introduced (PlatformName.MacCatalyst, 13, 0)] [TV (13,0), Mac (10,15), iOS (13,0)] [Static] [Export ("graphWithDevice:resultImages:resultsAreNeeded:")] @@ -5822,7 +5776,6 @@ namespace MetalPerformanceShaders { IntPtr Constructor (MPSNNImageNode left, MPSNNImageNode right); } - [Introduced (PlatformName.MacCatalyst, 13, 0)] [TV (11,2), Mac (10,13,2), iOS (11,2)] [BaseType (typeof (MPSVector))] [DisableDefaultCtor] @@ -6167,27 +6120,23 @@ namespace MetalPerformanceShaders { void Append (nuint bufferSize); } - [Introduced (PlatformName.MacCatalyst, 13, 0)] [TV (11,3), iOS (11,3), Mac (10,13,4)] [BaseType (typeof (NSKeyedUnarchiver))] [DisableDefaultCtor] interface MPSKeyedUnarchiver : MPSDeviceProvider { - [Introduced (PlatformName.MacCatalyst, 13, 0)] [TV (12,0), iOS (12,0), Mac (10,14)] [Static] [Export ("unarchivedObjectOfClasses:fromData:device:error:")] [return: NullAllowed] NSObject GetUnarchivedObject (NSSet classes, NSData data, IMTLDevice device, [NullAllowed] out NSError error); - [Introduced (PlatformName.MacCatalyst, 13, 0)] [TV (12,0), iOS (12,0), Mac (10,14)] [Static] [Export ("unarchivedObjectOfClass:fromData:device:error:")] [return: NullAllowed] NSObject GetUnarchivedObject (Class @class, NSData data, IMTLDevice device, [NullAllowed] out NSError error); - [Introduced (PlatformName.MacCatalyst, 13, 0)] [TV (12,0), iOS (12,0), Mac (10,14)] [Export ("initForReadingFromData:device:error:")] IntPtr Constructor (NSData data, IMTLDevice device, [NullAllowed] out NSError error); @@ -6242,7 +6191,6 @@ namespace MetalPerformanceShaders { //IntPtr Constructor (NSData data, IMTLDevice device); } - [Introduced (PlatformName.MacCatalyst, 13, 0)] [TV (13,0), Mac (10,15), iOS (13,0)] [BaseType (typeof(NSObject))] [DisableDefaultCtor] @@ -6301,7 +6249,6 @@ namespace MetalPerformanceShaders { MPSNDArray AllocateArray (IMTLCommandBuffer cmdBuf, MPSNDArrayDescriptor descriptor, MPSKernel kernel); } - [Introduced (PlatformName.MacCatalyst, 13, 0)] [TV (13,0), Mac (10,15), iOS (13,0)] [BaseType (typeof(NSObject))] [DisableDefaultCtor] @@ -6372,7 +6319,6 @@ namespace MetalPerformanceShaders { } [DisableDefaultCtor] - [Introduced (PlatformName.MacCatalyst, 13, 0)] [TV (13,0), Mac (10,15), iOS (13,0)] [BaseType (typeof(MPSNDArray))] interface MPSTemporaryNDArray @@ -7480,7 +7426,6 @@ namespace MetalPerformanceShaders { void EncodeBatch (IMTLCommandBuffer commandBuffer, NSArray sourceGradients, NSArray sourceImages, NSArray gradientStates, NSArray destinationGradients); } - // [Introduced (PlatformName.MacCatalyst, 13, 0)] [TV (11,3), Mac (10,13,4), iOS (11,3)] [BaseType (typeof (NSObject), Name = "MPSCNNLossDataDescriptor")] [DisableDefaultCtor] diff --git a/src/metrickit.cs b/src/metrickit.cs index 5a0045fd0e..ad5f337741 100644 --- a/src/metrickit.cs +++ b/src/metrickit.cs @@ -24,7 +24,6 @@ namespace MetricKit { [Export ("JSONRepresentation")] NSData JsonRepresentation { get; } -#if IOS [Internal] [Deprecated (PlatformName.iOS, 14,0)] [Export ("DictionaryRepresentation")] @@ -32,12 +31,9 @@ namespace MetricKit { [Internal] [iOS (14,0)] + [MacCatalyst (14,0)] [Export ("dictionaryRepresentation")] NSDictionary _DictionaryRepresentation14 { get; } -#else - [Export ("dictionaryRepresentation")] - NSDictionary DictionaryRepresentation { get; } -#endif } [NoWatch, NoTV, NoMac, iOS (13,0)] @@ -47,6 +43,7 @@ namespace MetricKit { NSMeasurement CumulativeCpuTime { get; } [iOS (14,0)] + [MacCatalyst (14,0)] [Export ("cumulativeCPUInstructions", ArgumentSemantic.Strong)] NSMeasurement CumulativeCpuInstructions { get; } } @@ -140,7 +137,6 @@ namespace MetricKit { [Export ("JSONRepresentation")] NSData JsonRepresentation { get; } -#if IOS [Internal] [Deprecated (PlatformName.iOS, 14,0)] [Export ("DictionaryRepresentation")] @@ -148,14 +144,12 @@ namespace MetricKit { [Internal] [iOS (14,0)] + [MacCatalyst (14,0)] [Export ("dictionaryRepresentation")] NSDictionary _DictionaryRepresentation14 { get; } -#else - [Export ("dictionaryRepresentation")] - NSDictionary DictionaryRepresentation { get; } -#endif [iOS (14,0)] + [MacCatalyst (14,0)] [Export ("platformArchitecture", ArgumentSemantic.Strong)] string PlatformArchitecture { get; } } @@ -359,7 +353,6 @@ namespace MetricKit { [Export ("JSONRepresentation")] NSData JsonRepresentation { get; } -#if IOS [Internal] [Deprecated (PlatformName.iOS, 14,0)] [Export ("DictionaryRepresentation")] @@ -367,19 +360,18 @@ namespace MetricKit { [Internal] [iOS (14,0)] + [MacCatalyst (14,0)] [Export ("dictionaryRepresentation")] NSDictionary _DictionaryRepresentation14 { get; } -#else - [Export ("dictionaryRepresentation")] - NSDictionary DictionaryRepresentation { get; } -#endif [iOS (14,0)] + [MacCatalyst (14,0)] [NullAllowed] [Export ("animationMetrics", ArgumentSemantic.Strong)] MXAnimationMetric AnimationMetrics { get; } [iOS (14,0)] + [MacCatalyst (14,0)] [NullAllowed] [Export ("applicationExitMetrics", ArgumentSemantic.Strong)] MXAppExitMetric ApplicationExitMetrics { get; } @@ -403,6 +395,7 @@ namespace MetricKit { void Remove (IMXMetricManagerSubscriber subscriber); [iOS (14,0)] + [MacCatalyst (14,0)] [Export ("pastDiagnosticPayloads", ArgumentSemantic.Strong)] MXDiagnosticPayload[] PastDiagnosticPayloads { get; } @@ -428,6 +421,7 @@ namespace MetricKit { [NoWatch, NoTV, NoMac] [iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (MXMetric))] [DisableDefaultCtor] interface MXAnimationMetric { @@ -438,6 +432,7 @@ namespace MetricKit { [NoWatch, NoTV, NoMac] [iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (MXMetric))] [DisableDefaultCtor] interface MXAppExitMetric { @@ -451,6 +446,7 @@ namespace MetricKit { [NoWatch, NoTV, NoMac] [iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface MXBackgroundExitData : NSSecureCoding { @@ -488,6 +484,7 @@ namespace MetricKit { [NoWatch, NoTV, NoMac] [iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface MXForegroundExitData : NSSecureCoding { @@ -513,6 +510,7 @@ namespace MetricKit { [NoWatch, NoTV, NoMac] [iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface MXCallStackTree : NSSecureCoding { @@ -523,6 +521,7 @@ namespace MetricKit { [NoWatch, NoTV, NoMac] [iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (MXDiagnostic), Name = "MXCPUExceptionDiagnostic")] [DisableDefaultCtor] interface MXCpuExceptionDiagnostic { @@ -539,6 +538,7 @@ namespace MetricKit { [NoWatch, NoTV, NoMac] [iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (MXDiagnostic))] [DisableDefaultCtor] interface MXCrashDiagnostic { @@ -570,6 +570,7 @@ namespace MetricKit { [NoWatch, NoTV, NoMac] [iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface MXDiagnostic : NSSecureCoding { @@ -589,6 +590,7 @@ namespace MetricKit { [NoWatch, NoTV, NoMac] [iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface MXDiagnosticPayload : NSSecureCoding { @@ -620,6 +622,7 @@ namespace MetricKit { [NoWatch, NoTV, NoMac] [iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (MXDiagnostic))] [DisableDefaultCtor] interface MXDiskWriteExceptionDiagnostic { @@ -633,6 +636,7 @@ namespace MetricKit { [NoWatch, NoTV, NoMac] [iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (MXDiagnostic))] [DisableDefaultCtor] interface MXHangDiagnostic { diff --git a/src/naturallanguage.cs b/src/naturallanguage.cs index 3020e281a4..68909d0b50 100644 --- a/src/naturallanguage.cs +++ b/src/naturallanguage.cs @@ -128,12 +128,14 @@ namespace NaturalLanguage { [EditorBrowsable (EditorBrowsableState.Advanced)] [Watch (7,0), TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [Export ("predictedLabelHypothesesForString:maximumCount:")] // `Native` added (like existing API) because we provide a better API with manual bindings (to avoid NSNumber) NSDictionary GetNativePredictedLabelHypotheses (string @string, nuint maximumCount); [EditorBrowsable (EditorBrowsableState.Advanced)] [Watch (7,0), TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [Export ("predictedLabelHypothesesForTokens:maximumCount:")] // `Native` added (like existing API) because we provide a better API with manual bindings (to avoid NSNumber) NSDictionary[] GetNativePredictedLabelHypotheses (string[] tokens, nuint maximumCount); @@ -173,6 +175,7 @@ namespace NaturalLanguage { void EnumerateTokens (NSRange range, NLTokenizerEnumerateContinuationHandler handler); [Watch (7,0), TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [Export ("tokenRangeForRange:")] NSRange GetTokenRange (NSRange range); } @@ -301,22 +304,26 @@ namespace NaturalLanguage { [EditorBrowsable (EditorBrowsableState.Advanced)] [Watch (7,0), TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [Export ("tagHypothesesAtIndex:unit:scheme:maximumCount:tokenRange:")] // `Native` added (like existing API) because we provide a better API with manual bindings (to avoid NSNumber) NSDictionary GetNativeTagHypotheses (nuint characterIndex, NLTokenUnit unit, NSString scheme, nuint maximumCount, out NSRange tokenRange); [Watch (7,0), TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [Internal][Sealed] [Export ("tagHypothesesAtIndex:unit:scheme:maximumCount:tokenRange:")] NSDictionary GetTagHypotheses (nuint characterIndex, NLTokenUnit unit, NSString scheme, nuint maximumCount, IntPtr tokenRange); [EditorBrowsable (EditorBrowsableState.Advanced)] [Watch (7,0), TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [Wrap ("GetTagHypotheses (characterIndex, unit, scheme, maximumCount, IntPtr.Zero)")] // `Native` added (like existing API) because we provide a better API with manual bindings (to avoid NSNumber) NSDictionary GetNativeTagHypotheses (nuint characterIndex, NLTokenUnit unit, NSString scheme, nuint maximumCount); [Watch (7,0), TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [Export ("tokenRangeForRange:unit:")] NSRange GetTokenRange (NSRange range, NLTokenUnit unit); } @@ -525,23 +532,27 @@ namespace NaturalLanguage { [EditorBrowsable (EditorBrowsableState.Advanced)] [Watch (7,0), TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [Static] [Export ("currentSentenceEmbeddingRevisionForLanguage:")] nuint GetCurrentSentenceEmbeddingRevision (NSString language); [Watch (7,0), TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [Static] [Wrap ("GetCurrentSentenceEmbeddingRevision (language.GetConstant ()!)")] nuint GetCurrentSentenceEmbeddingRevision (NLLanguage language); [EditorBrowsable (EditorBrowsableState.Advanced)] [Watch (7,0), TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [Static] [Export ("sentenceEmbeddingForLanguage:")] [return: NullAllowed] NLEmbedding GetSentenceEmbedding (NSString language); [Watch (7,0), TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [Static] [Wrap ("GetSentenceEmbedding (language.GetConstant ()!)")] [return: NullAllowed] @@ -549,12 +560,14 @@ namespace NaturalLanguage { [EditorBrowsable (EditorBrowsableState.Advanced)] [Watch (7,0), TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [Static] [Export ("sentenceEmbeddingForLanguage:revision:")] [return: NullAllowed] NLEmbedding GetSentenceEmbedding (NSString language, nuint revision); [Watch (7,0), TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [Static] [Wrap ("GetSentenceEmbedding (language.GetConstant ()!, revision)")] [return: NullAllowed] @@ -562,11 +575,13 @@ namespace NaturalLanguage { [EditorBrowsable (EditorBrowsableState.Advanced)] [Watch (7,0), TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [Static] [Export ("supportedSentenceEmbeddingRevisionsForLanguage:")] NSIndexSet GetSupportedSentenceEmbeddingRevisions (NSString language); [Watch (7,0), TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [Static] [Wrap ("GetSupportedSentenceEmbeddingRevisions (language.GetConstant ()!)")] NSIndexSet GetSupportedSentenceEmbeddingRevisions (NLLanguage language); diff --git a/src/nearbyinteraction.cs b/src/nearbyinteraction.cs index 501c3f778e..d284e55a61 100644 --- a/src/nearbyinteraction.cs +++ b/src/nearbyinteraction.cs @@ -16,16 +16,19 @@ using Vector3 = global::OpenTK.Vector3; namespace NearbyInteraction { [NoWatch, NoTV, NoMac, iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface NIConfiguration : NSCopying, NSSecureCoding {} [NoWatch, NoTV, NoMac, iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface NIDiscoveryToken : NSCopying, NSSecureCoding {} [NoWatch, NoTV, NoMac, iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NIConfiguration))] [DisableDefaultCtor] interface NINearbyPeerConfiguration @@ -38,6 +41,7 @@ namespace NearbyInteraction { } [NoWatch, NoTV, NoMac, iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] partial interface NINearbyObject : NSCopying, NSSecureCoding @@ -59,6 +63,7 @@ namespace NearbyInteraction { } [NoWatch, NoTV, NoMac, iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] interface NISession { @@ -95,6 +100,7 @@ namespace NearbyInteraction { interface INISessionDelegate {} [NoWatch, NoTV, NoMac, iOS (14,0)] + [MacCatalyst (14,0)] [Protocol] [Model (AutoGeneratedName = true)] [BaseType (typeof (NSObject))] diff --git a/src/networkextension.cs b/src/networkextension.cs index 8c4ac8991d..1caa61dd37 100644 --- a/src/networkextension.cs +++ b/src/networkextension.cs @@ -196,11 +196,13 @@ namespace NetworkExtension { } [Mac (11,0)][iOS (14,2)] + [MacCatalyst (14,2)] [Export ("remoteHostname")] [NullAllowed] string RemoteHostname { get; } [Mac (11,1), iOS (14, 3)] + [MacCatalyst (14,3)] [Export ("isBound")] bool IsBound { get; } @@ -336,10 +338,12 @@ namespace NetworkExtension { bool MatchDomainsNoSearch { get; set; } [NoWatch, NoTV, Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [Export ("dnsProtocol")] NEDnsProtocol DnsProtocol { get; } [Mac (11,0), iOS (14,0), NoTV, NoWatch] + [MacCatalyst (14,0)] [Notification] [Field ("NEDNSSettingsConfigurationDidChangeNotification")] NSString ConfigurationDidChangeNotification { get; } @@ -814,6 +818,7 @@ namespace NetworkExtension { [Async] [Watch (7,0), NoTV, NoMac, iOS (14,0)] + [MacCatalyst (14,0)] [Static] [Export ("fetchCurrentWithCompletionHandler:")] void FetchCurrent (Action completionHandler); @@ -1253,15 +1258,18 @@ namespace NetworkExtension { NEProxySettings ProxySettings { get; set; } [Mac (10,15), iOS (14,0)] + [MacCatalyst (14,0)] [Export ("includeAllNetworks")] bool IncludeAllNetworks { get; set; } [iOS (14,2)] [Mac (10,15)] + [MacCatalyst (14,2)] [Export ("excludeLocalNetworks")] bool ExcludeLocalNetworks { get; set; } [Mac (11,0)][iOS (14,2)] + [MacCatalyst (14,2)] [Export ("enforceRoutes")] bool EnforceRoutes { get; set; } } @@ -1369,6 +1377,7 @@ namespace NetworkExtension { bool EnableFallback { get; set; } [NoWatch, NoTV, Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [Export ("mtu")] nuint Mtu { get; set; } } @@ -1503,6 +1512,7 @@ namespace NetworkExtension { bool IsEqualToPath (NWPath path); [Watch (7, 0), TV (14, 0), Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [Export ("constrained")] bool Constrained { [Bind ("isConstrained")] get; } } @@ -1696,6 +1706,7 @@ namespace NetworkExtension { [NullAllowed] [NoWatch, NoTV, Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [Export ("remoteHostname")] string RemoteHostname { get; } } @@ -2156,6 +2167,7 @@ namespace NetworkExtension { } [NoWatch, NoTV, NoMac, iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] interface NEAppPushManager { [Export ("matchSSIDs", ArgumentSemantic.Copy)] @@ -2204,6 +2216,7 @@ namespace NetworkExtension { } [NoWatch, NoTV, NoMac, iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NEProvider))] [DisableDefaultCtor] // init returns nil interface NEAppPushProvider { @@ -2227,6 +2240,7 @@ namespace NetworkExtension { } [NoWatch, NoTV, Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NEDnsSettings), Name = "NEDNSOverHTTPSSettings")] interface NEDnsOverHttpsSettings { [NullAllowed] @@ -2235,6 +2249,7 @@ namespace NetworkExtension { } [NoWatch, NoTV, Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NEDnsSettings), Name = "NEDNSOverTLSSettings")] interface NEDnsOverTlsSettings { [NullAllowed] @@ -2243,6 +2258,7 @@ namespace NetworkExtension { } [NoWatch, NoTV, Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [DisableDefaultCtor] [BaseType (typeof (NSObject), Name = "NEDNSSettingsManager")] interface NEDnsSettingsManager { @@ -2281,6 +2297,7 @@ namespace NetworkExtension { interface INEAppPushDelegate {} [NoWatch, NoTV, NoMac, iOS (14,0)] + [MacCatalyst (14,0)] [Protocol, Model (AutoGeneratedName = true)] [BaseType (typeof (NSObject))] interface NEAppPushDelegate diff --git a/src/passkit.cs b/src/passkit.cs index 78446d0a87..ec4f202cfc 100644 --- a/src/passkit.cs +++ b/src/passkit.cs @@ -341,6 +341,7 @@ namespace PassKit { void DidSelectPaymentMethod2 (PKPaymentAuthorizationViewController controller, PKPaymentMethod paymentMethod, Action completion); [Watch (7,0)][iOS (14,0)] + [MacCatalyst (14,0)] [Export ("paymentAuthorizationViewController:didRequestMerchantSessionUpdate:")] [EventArgs ("PKPaymentRequestMerchantSessionUpdate")] void DidRequestMerchantSessionUpdate (PKPaymentAuthorizationViewController controller, Action updateHandler); @@ -770,6 +771,7 @@ namespace PassKit { [NoWatch] [NoMac] + [NoMacCatalyst] [Export ("icon", ArgumentSemantic.Copy)] UIImage Icon { get; } @@ -972,14 +974,17 @@ namespace PassKit { NSString Mada { get; } [Watch (7,0)][iOS (14,0)] + [MacCatalyst (14,0)] [Field ("PKPaymentNetworkBarcode")] NSString Barcode { get; } [Watch (7,0)][iOS (14,0)] + [MacCatalyst (14,0)] [Field ("PKPaymentNetworkGirocard")] NSString Girocard { get; } [Watch (7,4)][Mac (11,3)][iOS (14, 5)] + [MacCatalyst (14,5)] [Field ("PKPaymentNetworkMir")] NSString Mir { get; } } @@ -1131,10 +1136,12 @@ namespace PassKit { void DidSelectPaymentMethod (PKPaymentAuthorizationController controller, PKPaymentMethod paymentMethod, Action completion); [Watch (7,0)][iOS (14,0)] + [MacCatalyst (14,0)] [Export ("paymentAuthorizationController:didRequestMerchantSessionUpdate:")] void DidRequestMerchantSessionUpdate (PKPaymentAuthorizationController controller, Action handler); [Watch (7,0)][iOS (14,0)] + [MacCatalyst (14,0)] [Export ("presentationWindowForPaymentAuthorizationController:")] [return: NullAllowed] #if MONOMAC @@ -1182,12 +1189,14 @@ namespace PassKit { bool InStation { [Bind ("isInStation")] get; } [Deprecated (PlatformName.iOS, 14,5, message: "Use 'Blocked' instead.")] + [Deprecated (PlatformName.MacCatalyst, 14,5, message: "Use 'Blocked' instead.")] [Deprecated (PlatformName.WatchOS, 7,4, message: "Use 'Blocked' instead.")] [Export ("blacklisted")] bool Blacklisted { [Bind ("isBlacklisted")] get; } [iOS (14,5)][Watch (7,4)] [Mac (11,3)] + [MacCatalyst (14,5)] [Export ("blocked")] bool Blocked { [Bind ("isBlocked")] get; } @@ -1450,6 +1459,7 @@ namespace PassKit { [Mac (11,0)] [NoWatch, NoTV] [iOS (14,0)] + [MacCatalyst (14,0)] [Native] public enum PKAddShareablePassConfigurationPrimaryAction : ulong { Add, @@ -1458,6 +1468,7 @@ namespace PassKit { [Mac (11,0)] [Watch (7,0), iOS (14,0)] + [MacCatalyst (14,0)] [NoTV] [Native] public enum PKBarcodeEventConfigurationDataType : long { @@ -1468,6 +1479,7 @@ namespace PassKit { [NoWatch, NoTV, NoMac] [iOS (14,0)] + [MacCatalyst (14,0)] [Native] public enum PKIssuerProvisioningExtensionAuthorizationResult : long { Canceled, @@ -1500,6 +1512,7 @@ namespace PassKit { [iOS (14,5)] [Mac (11,3)] + [MacCatalyst (14,5)] [Export ("supportedRadioTechnologies", ArgumentSemantic.Assign)] PKRadioTechnology SupportedRadioTechnologies { get; set; } } @@ -1524,6 +1537,7 @@ namespace PassKit { [NoWatch, NoTV, NoMac] // under `#if TARGET_OS_IOS` [iOS (13,4)] + [MacCatalyst (14,0)] // doc mention 13.4 but we can't load the class [BaseType (typeof (UIViewController))] [DisableDefaultCtor] interface PKAddSecureElementPassViewController { @@ -1546,6 +1560,7 @@ namespace PassKit { [NoWatch, NoTV] [iOS (14,0)] [Mac (11,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface PKShareablePassMetadata { @@ -1575,6 +1590,7 @@ namespace PassKit { [NoWatch, NoTV] [iOS (14,0)] [Mac (11,0)] + [MacCatalyst (14,0)] [BaseType (typeof (PKAddSecureElementPassConfiguration))] [DisableDefaultCtor] interface PKAddShareablePassConfiguration { @@ -1596,6 +1612,7 @@ namespace PassKit { [Mac (11,0)] [Watch (7,0)][iOS (14,0)] + [MacCatalyst (14,0)] [NoTV] [BaseType (typeof (NSObject))] [DisableDefaultCtor] @@ -1613,6 +1630,7 @@ namespace PassKit { [Mac (11,0)] [Watch (7,0)][iOS (14,0)] + [MacCatalyst (14,0)] [NoTV] [BaseType (typeof (NSObject))] [DisableDefaultCtor] @@ -1627,6 +1645,7 @@ namespace PassKit { [Mac (11,0)] [Watch (7,0)][iOS (14,0)] + [MacCatalyst (14,0)] [NoTV] [BaseType (typeof (NSObject))] [DisableDefaultCtor] @@ -1641,6 +1660,7 @@ namespace PassKit { [Mac (11,0)] [Watch (7,0)][iOS (14,0)] + [MacCatalyst (14,0)] [NoTV] [BaseType (typeof (NSObject))] [DisableDefaultCtor] @@ -1680,6 +1700,7 @@ namespace PassKit { [Mac (11,0)] [Watch (7,0)][iOS (14,0)] + [MacCatalyst (14,0)] [NoTV] [BaseType (typeof (NSObject))] [DisableDefaultCtor] @@ -1695,6 +1716,7 @@ namespace PassKit { [NoWatch, NoTV] [iOS (14,0)] [Mac (11,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [DesignatedDefaultCtor] interface PKIssuerProvisioningExtensionStatus { @@ -1712,6 +1734,7 @@ namespace PassKit { [NoWatch, NoTV] [iOS (14,0)] [Mac (11,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface PKIssuerProvisioningExtensionPassEntry { @@ -1728,6 +1751,7 @@ namespace PassKit { [NoWatch, NoTV, NoMac] [iOS (14,0)] + [NoMacCatalyst] // type cannot be loaded, lack of documentation about usage [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface PKIssuerProvisioningExtensionHandler { @@ -1751,6 +1775,7 @@ namespace PassKit { [NoWatch, NoTV, NoMac] [iOS (14,0)] + [MacCatalyst (14,0)] [Protocol] interface PKIssuerProvisioningExtensionAuthorizationProviding { @@ -1761,15 +1786,18 @@ namespace PassKit { [NoWatch, NoTV, NoMac] [iOS (14,0)] + [MacCatalyst (14,0)] delegate void PKInformationRequestCompletionBlock (PKBarcodeEventMetadataResponse response); [NoWatch, NoTV, NoMac] [iOS (14,0)] + [MacCatalyst (14,0)] delegate void PKSignatureRequestCompletionBlock (PKBarcodeEventSignatureResponse response); [NoTV] [Mac (11,0)] [Watch (7,0)][iOS (14,0)] + [MacCatalyst (14,0)] [Protocol] interface PKPaymentInformationRequestHandling { @@ -1789,6 +1817,7 @@ namespace PassKit { [NoWatch, NoTV] [iOS (14,0)] [Mac (11,0)] + [MacCatalyst (14,0)] [BaseType (typeof (PKIssuerProvisioningExtensionPassEntry))] [DisableDefaultCtor] interface PKIssuerProvisioningExtensionPaymentPassEntry { @@ -1803,6 +1832,7 @@ namespace PassKit { [NoTV] [Watch (7,0)][Mac (11,0)][iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface PKPaymentMerchantSession { @@ -1813,6 +1843,7 @@ namespace PassKit { [NoTV] [Watch (7,0)][Mac (11,0)][iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] interface PKPaymentRequestMerchantSessionUpdate { @@ -1827,6 +1858,7 @@ namespace PassKit { } [Watch (7,0)][Mac (11,0)][iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface PKPaymentInformationEventExtension { diff --git a/src/pdfkit.cs b/src/pdfkit.cs index 1bd8675db3..54781d25e0 100644 --- a/src/pdfkit.cs +++ b/src/pdfkit.cs @@ -550,6 +550,7 @@ namespace PdfKit { [Deprecated (PlatformName.iOS, 11, 0, message: "Use '.ctor (CGRect, PDFAnnotationKey, NSDictionary)' instead.")] [Deprecated (PlatformName.MacOSX, 10, 12, message: "Use '.ctor (CGRect, PDFAnnotationKey, NSDictionary)' instead.")] + [NoMacCatalyst] [Export ("initWithBounds:")] IntPtr Constructor (CGRect bounds); diff --git a/src/photos.cs b/src/photos.cs index 53ebc35a37..f82d15572f 100644 --- a/src/photos.cs +++ b/src/photos.cs @@ -691,6 +691,7 @@ namespace Photos PHCollectionListChangeRequest ChangeRequest (PHCollectionList collectionList, PHFetchResult childCollections); [TV (14,2), Mac (11,0), iOS (14,2)] + [MacCatalyst (14,2)] [Static] [Export ("changeRequestForTopLevelCollectionListUserCollections:")] [return: NullAllowed] @@ -1118,6 +1119,7 @@ namespace Photos PHAuthorizationStatus AuthorizationStatus { get; } [TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [Static] [Export ("authorizationStatusForAccessLevel:")] PHAuthorizationStatus GetAuthorizationStatus (PHAccessLevel accessLevel); @@ -1130,6 +1132,7 @@ namespace Photos void RequestAuthorization (Action handler); [TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [Static] [Export ("requestAuthorizationForAccessLevel:handler:")] [Async] diff --git a/src/photosui.cs b/src/photosui.cs index 7cd0b054c0..11b66c4f1c 100644 --- a/src/photosui.cs +++ b/src/photosui.cs @@ -485,6 +485,7 @@ namespace PhotosUI { interface IPHPickerViewControllerDelegate {} [NoWatch, NoTV, NoMac, iOS (14,0)] + [MacCatalyst (14,0)] [Protocol, Model (AutoGeneratedName = true)] [BaseType (typeof(NSObject))] interface PHPickerViewControllerDelegate @@ -495,6 +496,7 @@ namespace PhotosUI { } [NoWatch, NoTV, NoMac, iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (UIViewController))] [Advice ("This type should not be subclassed.")] [DisableDefaultCtor] @@ -515,6 +517,7 @@ namespace PhotosUI { } [NoWatch, NoTV, NoMac, iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [Advice ("This type should not be subclassed.")] interface PHPickerConfiguration : NSCopying @@ -533,6 +536,7 @@ namespace PhotosUI { } [NoWatch, NoTV, NoMac, iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [Advice ("This type should not be subclassed.")] [DisableDefaultCtor] @@ -556,6 +560,7 @@ namespace PhotosUI { } [NoWatch, NoTV, NoMac, iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [Advice ("This type should not be subclassed.")] [DisableDefaultCtor] diff --git a/src/pushkit.cs b/src/pushkit.cs index a496dcfba2..e3db3a4a80 100644 --- a/src/pushkit.cs +++ b/src/pushkit.cs @@ -5,7 +5,6 @@ using System; namespace PushKit { - [Introduced (PlatformName.MacCatalyst, 13,0)] [Watch (6,0)] [Mac (10,15)] [iOS (8,0)] @@ -19,7 +18,6 @@ namespace PushKit NSData Token { get; } } - [Introduced (PlatformName.MacCatalyst, 13,0)] [Watch (6,0)] [Mac (10,15)] [iOS (8,0)] @@ -33,7 +31,6 @@ namespace PushKit NSDictionary DictionaryPayload { get; } } - [Introduced (PlatformName.MacCatalyst, 13,0)] [Watch (6,0)] [Mac (10,15)] [iOS (8,0)] @@ -71,13 +68,12 @@ namespace PushKit [iOS (9,0)] [Deprecated (PlatformName.iOS, 13,0, message: "Use directly from watchOS instead.")] - [Deprecated (PlatformName.MacCatalyst, 13,0, message: "Use directly from watchOS instead.")] [Watch (6,0)] [NoMac] + [NoMacCatalyst] [Field ("PKPushTypeComplication")] NSString Complication { get; } - [Introduced (PlatformName.MacCatalyst, 13,0)] [iOS (11,0)] [NoWatch] [Mac (10,15)] @@ -86,7 +82,6 @@ namespace PushKit } [iOS (8,0)] - [Introduced (PlatformName.MacCatalyst, 13,0)] [Watch (6,0)] [Mac (10,15)] [Model] diff --git a/src/scenekit.cs b/src/scenekit.cs index 30351a83ce..84a6008477 100644 --- a/src/scenekit.cs +++ b/src/scenekit.cs @@ -2545,6 +2545,7 @@ namespace SceneKit { // SCNScene Scene { get; set; } // options: nothing today, it is reserved for future use + [NoMacCatalyst] [Static, Export ("rendererWithContext:options:")] SCNRenderer FromContext (IntPtr context, [NullAllowed] NSDictionary options); diff --git a/src/screentime.cs b/src/screentime.cs index 1c79c2727f..2d6477474e 100644 --- a/src/screentime.cs +++ b/src/screentime.cs @@ -13,6 +13,7 @@ using UIViewController = AppKit.NSViewController; namespace ScreenTime { [Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface STScreenTimeConfiguration : NSSecureCoding { @@ -21,6 +22,7 @@ namespace ScreenTime { } [Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface STScreenTimeConfigurationObserver { @@ -39,6 +41,7 @@ namespace ScreenTime { } [Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface STWebHistory { @@ -57,6 +60,7 @@ namespace ScreenTime { } [Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [BaseType (typeof (UIViewController))] [DisableDefaultCtor] interface STWebpageController diff --git a/src/security.cs b/src/security.cs index 755f23c663..06f2adceae 100644 --- a/src/security.cs +++ b/src/security.cs @@ -1115,6 +1115,7 @@ namespace Security { [Field ("kSecAttrAccount")] NSString AccountKey { get; } + [MacCatalyst (14,0)] [Field ("kSecSharedPassword")] NSString PasswordKey { get; } diff --git a/src/sensorkit.cs b/src/sensorkit.cs index 7f4415145e..e850df9287 100644 --- a/src/sensorkit.cs +++ b/src/sensorkit.cs @@ -13,6 +13,7 @@ namespace SensorKit { [NoWatch, NoTV, NoMac] [iOS (14,0)] + [MacCatalyst (14,0)] [Native] enum SRAmbientLightSensorPlacement : long { Unknown, @@ -28,6 +29,7 @@ namespace SensorKit { [NoWatch, NoTV, NoMac] [iOS (14,0)] + [MacCatalyst (14,0)] [Native] public enum SRAuthorizationStatus : long { NotDetermined = 0, @@ -37,6 +39,7 @@ namespace SensorKit { [NoWatch, NoTV, NoMac] [iOS (14,0)] + [MacCatalyst (14,0)] [Native] enum SRCrownOrientation : long { @@ -46,6 +49,7 @@ namespace SensorKit { [NoWatch, NoTV, NoMac] [iOS (14,0)] + [MacCatalyst (14,0)] [Native] enum SRDeletionReason : long { @@ -58,6 +62,7 @@ namespace SensorKit { [NoWatch, NoTV, NoMac] [iOS (14,0)] + [MacCatalyst (14,0)] [Native] [ErrorDomain ("SRErrorDomain")] enum SRErrorCode : long @@ -71,6 +76,7 @@ namespace SensorKit { [NoWatch, NoTV, NoMac] [iOS (14,0)] + [MacCatalyst (14,0)] [Native] enum SRLocationCategory : long { @@ -83,6 +89,7 @@ namespace SensorKit { [NoWatch, NoTV, NoMac] [iOS (14,0)] + [MacCatalyst (14,0)] [Native] enum SRNotificationEvent : long { @@ -107,6 +114,7 @@ namespace SensorKit { [NoWatch, NoTV, NoMac] [iOS (14,0)] + [MacCatalyst (14,0)] [Native] enum SRWristLocation : long { @@ -116,6 +124,7 @@ namespace SensorKit { [NoWatch, NoTV, NoMac] [iOS (14,0)] + [MacCatalyst (14,0)] enum SRDeviceUsageCategory { [Field ("SRDeviceUsageCategoryGames")] Games, @@ -207,6 +216,7 @@ namespace SensorKit { [NoWatch, NoTV, NoMac] [iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface SRAmbientLightSample { @@ -223,6 +233,7 @@ namespace SensorKit { [NoWatch, NoTV, NoMac] [iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface SRApplicationUsage { @@ -236,6 +247,7 @@ namespace SensorKit { [NoWatch, NoTV, NoMac] [iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface SRDeletionRecord : NSSecureCoding { @@ -252,6 +264,7 @@ namespace SensorKit { [NoWatch, NoTV, NoMac] [iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface SRDevice : NSSecureCoding, NSCopying { @@ -274,6 +287,7 @@ namespace SensorKit { [NoWatch, NoTV, NoMac] [iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface SRDeviceUsageReport { @@ -302,6 +316,7 @@ namespace SensorKit { [NoWatch, NoTV, NoMac] [iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] interface SRFetchRequest { @@ -317,6 +332,7 @@ namespace SensorKit { [NoWatch, NoTV, NoMac] [iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface SRFetchResult : NSCopying where SampleType : NSObject { @@ -330,6 +346,7 @@ namespace SensorKit { [NoWatch, NoTV, NoMac] [iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface SRKeyboardProbabilityMetric where UnitType : NSUnit { @@ -339,6 +356,7 @@ namespace SensorKit { [NoWatch, NoTV, NoMac] [iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface SRKeyboardMetrics { @@ -559,6 +577,7 @@ namespace SensorKit { [NoWatch, NoTV, NoMac] [iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface SRMessagesUsageReport { @@ -578,6 +597,7 @@ namespace SensorKit { [NoWatch, NoTV, NoMac] [iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface SRNotificationUsage { @@ -591,6 +611,7 @@ namespace SensorKit { [NoWatch, NoTV, NoMac] [iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface SRPhoneUsageReport { @@ -615,6 +636,7 @@ namespace SensorKit { [NoWatch, NoTV, NoMac] [iOS (14,0)] + [MacCatalyst (14,0)] [Protocol, Model (AutoGeneratedName = true)] [BaseType (typeof (NSObject))] interface SRSensorReaderDelegate { @@ -652,6 +674,7 @@ namespace SensorKit { [NoWatch, NoTV, NoMac] [iOS (14,0)] + [MacCatalyst (14,0)] enum SRSensor { [Field (null)] Invalid = -1, @@ -689,6 +712,7 @@ namespace SensorKit { [NoWatch, NoTV, NoMac] [iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface SRSensorReader { @@ -737,6 +761,7 @@ namespace SensorKit { [NoWatch, NoTV, NoMac] [iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface SRVisit { @@ -759,6 +784,7 @@ namespace SensorKit { [NoWatch, NoTV, NoMac] [iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface SRWebUsage { @@ -769,6 +795,7 @@ namespace SensorKit { [NoWatch, NoTV, NoMac] [iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface SRWristDetection { @@ -785,6 +812,7 @@ namespace SensorKit { [NoWatch, NoTV, NoMac] [iOS (14,0)] + [MacCatalyst (14,0)] [Category] [BaseType (typeof (NSString))] [Internal] // exposed thru SRSensor diff --git a/src/speech.cs b/src/speech.cs index c9dcb34b52..53b9dcf42e 100644 --- a/src/speech.cs +++ b/src/speech.cs @@ -112,6 +112,7 @@ namespace Speech { bool Final { [Bind ("isFinal")] get; } [iOS (14, 5), Mac (11, 3)] + [MacCatalyst (14,5)] [NullAllowed, Export ("speechRecognitionMetadata")] SFSpeechRecognitionMetadata SpeechRecognitionMetadata { get; } } @@ -224,6 +225,7 @@ namespace Speech { } [iOS (14,5), Mac (11,3)] + [MacCatalyst (14,5)] [BaseType (typeof(NSObject))] [DisableDefaultCtor] interface SFSpeechRecognitionMetadata : NSCopying, NSSecureCoding diff --git a/src/spritekit.cs b/src/spritekit.cs index 9b464b6001..ab9cee8594 100644 --- a/src/spritekit.cs +++ b/src/spritekit.cs @@ -1539,7 +1539,8 @@ namespace SpriteKit { [NullAllowed, Export ("delegate", ArgumentSemantic.Weak)] ISKViewDelegate Delegate { get; set; } - [iOS (14,0)][TV (14,0)][Mac (10,16)] + [iOS (14,0)][TV (14,0)][Mac (11,0)] + [MacCatalyst (14,0)] [Export ("disableDepthStencilBuffer")] bool DisableDepthStencilBuffer { get; set; } } diff --git a/src/storekit.cs b/src/storekit.cs index 1d69b4ee00..a88efec684 100644 --- a/src/storekit.cs +++ b/src/storekit.cs @@ -248,14 +248,17 @@ namespace StoreKit { SKStorefront Storefront { get; } [NoWatch, NoTV, NoMac, iOS (13,4)] + [NoMacCatalyst] [Export ("showPriceConsentIfNeeded")] void ShowPriceConsentIfNeeded (); [NoWatch, NoTV, NoMac, iOS (14,0)] + [NoMacCatalyst] [Export ("presentCodeRedemptionSheet")] void PresentCodeRedemptionSheet (); [Watch (7, 0), TV (14, 0), Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [Export ("transactionObservers")] ISKPaymentTransactionObserver[] TransactionObservers { get; } } @@ -342,6 +345,7 @@ namespace StoreKit { SKProductDiscount [] Discounts { get; } [Watch (7, 0), TV (14, 0), Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [Export ("isFamilyShareable")] bool IsFamilyShareable { get; } } @@ -647,10 +651,12 @@ namespace StoreKit { NSString AdNetworkTimestamp { get; } [NoWatch, NoMac, TV (14, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [Field ("SKStoreProductParameterAdNetworkSourceAppStoreIdentifier")] NSString AdNetworkSourceAppStoreIdentifier { get; } [NoWatch, NoMac, TV (14, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [Field ("SKStoreProductParameterAdNetworkVersion")] NSString AdNetworkVersion { get; } } @@ -914,6 +920,7 @@ namespace StoreKit { [NoWatch, NoTV, NoMac] [iOS (14,5)] + [MacCatalyst (14,5)] [Static] [Async] [Export ("startImpression:completionHandler:")] @@ -921,6 +928,7 @@ namespace StoreKit { [NoWatch, NoTV, NoMac] [iOS (14,5)] + [MacCatalyst (14,5)] [Static] [Async] [Export ("endImpression:completionHandler:")] @@ -1030,7 +1038,7 @@ namespace StoreKit { [NoWatch, NoTV, NoMac, iOS (14,0)] - [Advice ("This API is not available when using UIKit on macOS.")] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface SKOverlayTransitionContext { @@ -1045,12 +1053,13 @@ namespace StoreKit { } [NoWatch, NoTV, NoMac, iOS (14,0)] + [MacCatalyst (14,0)] [DisableDefaultCtor] [BaseType (typeof (NSObject))] interface SKOverlayConfiguration {} [NoWatch, NoTV, NoMac, iOS (14,0)] - [Advice ("This API is not available when using UIKit on macOS.")] + [MacCatalyst (14,0)] [BaseType (typeof (SKOverlayConfiguration))] [DisableDefaultCtor] interface SKOverlayAppConfiguration { @@ -1082,7 +1091,7 @@ namespace StoreKit { } [NoWatch, NoTV, NoMac, iOS (14,0)] - [Advice ("This API is not available when using UIKit on macOS.")] + [MacCatalyst (14,0)] [BaseType (typeof (SKOverlayConfiguration))] [DisableDefaultCtor] interface SKOverlayAppClipConfiguration { @@ -1110,7 +1119,8 @@ namespace StoreKit { interface ISKOverlayDelegate {} [NoWatch, NoTV, NoMac, iOS (14,0)] - [Protocol, Model (AutoGeneratedName = true), Advice ("This API is not available when using UIKit on macOS.")] + [MacCatalyst (14,0)] + [Protocol, Model (AutoGeneratedName = true)] [BaseType (typeof (NSObject))] interface SKOverlayDelegate { [Export ("storeOverlay:didFailToLoadWithError:")] @@ -1130,7 +1140,7 @@ namespace StoreKit { } [NoWatch, NoTV, NoMac, iOS (14,0)] - [Advice ("This API is not available when using UIKit on macOS.")] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface SKOverlay { @@ -1158,6 +1168,7 @@ namespace StoreKit { [NoWatch, NoTV, NoMac] [iOS (14,5)] + [MacCatalyst (14,5)] [BaseType (typeof (NSObject))] interface SKAdImpression { diff --git a/src/uikit.cs b/src/uikit.cs index 7c0b642640..06346ef526 100644 --- a/src/uikit.cs +++ b/src/uikit.cs @@ -196,6 +196,7 @@ namespace UIKit { } [NoWatch, TV (14,5), iOS (14,5)] + [MacCatalyst (14,5)] [Native] public enum UISplitViewControllerDisplayModeButtonVisibility : long { Automatic, @@ -1079,6 +1080,7 @@ namespace UIKit { [NoWatch] [TV (14,0), iOS (14,0)] + [MacCatalyst (14,0)] [Notification] [Field ("UIAccessibilityButtonShapesEnabledStatusDidChangeNotification")] NSString ButtonShapesEnabledStatusDidChangeNotification { get; } @@ -1103,6 +1105,7 @@ namespace UIKit { [NoWatch] [TV (14,0), iOS (14,0)] + [MacCatalyst (14,0)] [Notification] [Field ("UIAccessibilityPrefersCrossFadeTransitionsStatusDidChangeNotification")] NSString PrefersCrossFadeTransitionsStatusDidChangeNotification { get; } @@ -2372,6 +2375,7 @@ namespace UIKit { NSString OpenInPlaceKey { get; } [NoWatch, NoTV, iOS (14,5)] + [MacCatalyst (14,5)] [Field ("UIApplicationOpenURLOptionsEventAttributionKey")] NSString OpenUrlOptionsEventAttributionKey { get; } @@ -2380,6 +2384,7 @@ namespace UIKit { NSString UniversalLinksOnlyKey { get; } [NoWatch, NoTV, iOS (14,5)] + [MacCatalyst (14,5)] [Field ("UIApplicationOpenExternalURLOptionsEventAttributionKey")] NSString OpenExternalUrlOptionsEventAttributionKey { get; } } @@ -2721,6 +2726,7 @@ namespace UIKit { NSString LaunchOptionsShortcutItemKey { get; } [NoWatch, NoTV, iOS (14,5)] + [MacCatalyst (14,5)] [Field ("UIApplicationLaunchOptionsEventAttributionKey")] NSString LaunchOptionsEventAttributionKey { get; } @@ -8865,6 +8871,7 @@ namespace UIKit { } [NoTV] + [MacCatalyst (14,0)] // doc as 13.0 but throws: NSGenericException Reason: UIDocumentInteractionController not available [BaseType (typeof (NSObject), Delegates=new string [] {"WeakDelegate"}, Events=new Type [] {typeof (UIDocumentInteractionControllerDelegate)})] interface UIDocumentInteractionController { [Export ("interactionControllerWithURL:"), Static] @@ -11387,6 +11394,7 @@ namespace UIKit { [BaseType (typeof (NSObject))] [Availability (Deprecated = Platform.iOS_8_0, Message="Use 'UISearchController'.")] + [NoMacCatalyst] // Objective-C exception thrown. Name: NSGenericException Reason: UISearchDisplayController is no longer supported when linking against this version of iOS. Please migrate your application to UISearchController. [NoTV] interface UISearchDisplayController { [Export ("initWithSearchBar:contentsController:")] @@ -11446,6 +11454,7 @@ namespace UIKit { [Model] [Protocol] [NoTV] + [NoMacCatalyst] interface UISearchDisplayDelegate { [Export ("searchDisplayControllerWillBeginSearch:")] @@ -11812,6 +11821,7 @@ namespace UIKit { NSString WritingDirection { get; } [TV (14,0), Watch (7,0), iOS (14,0)] + [MacCatalyst (14,0)] [Field ("NSTrackingAttributeName")] NSString Tracking { get; } @@ -14758,6 +14768,7 @@ namespace UIKit { // These come from @interface UIViewController (UISearchDisplayControllerSupport) [NoTV] [Availability (Deprecated = Platform.iOS_8_0, Message="Use 'UISearchController' instead.")] + [NoMacCatalyst] [Export ("searchDisplayController", ArgumentSemantic.Retain)] UISearchDisplayController SearchDisplayController { get; } @@ -16087,6 +16098,7 @@ namespace UIKit { UIBarButtonItem DisplayModeButtonItem { get; } [iOS (14,5), TV (14,5)] + [MacCatalyst (14,5)] [Export ("displayModeButtonVisibility", ArgumentSemantic.Assign)] UISplitViewControllerDisplayModeButtonVisibility DisplayModeButtonVisibility { get; set; } @@ -16747,6 +16759,7 @@ namespace UIKit { void AddPrintFormatter (UIPrintFormatter formatter, nint pageIndex); [iOS (14,5)] + [MacCatalyst (14,5)] [Export ("currentRenderingQualityForRequestedRenderingQuality:")] UIPrintRenderingQuality GetCurrentRenderingQuality (UIPrintRenderingQuality requestedRenderingQuality); @@ -16923,6 +16936,7 @@ namespace UIKit { } [NoWatch, NoTV, iOS (14,5)] + [MacCatalyst (14,5)] [BaseType (typeof (NSObject))] interface UIPrintServiceExtension { @@ -17052,9 +17066,7 @@ namespace UIKit { [NoTV] [BaseType (typeof (UIPrintFormatter))] -#if XAMCORE_4_0 [DisableDefaultCtor] // nonfunctional (and it doesn't show up in the header anyway) -#endif interface UIMarkupTextPrintFormatter { [NullAllowed] // by default this property is null [Export ("markupText", ArgumentSemantic.Copy)] @@ -20001,6 +20013,7 @@ namespace UIKit { bool UniversalLinksOnly { get; set; } [NoTV, iOS (14, 5)] + [MacCatalyst (14,5)] [NullAllowed] [Export ("eventAttribution", ArgumentSemantic.Copy)] UIEventAttribution EventAttribution { get; set; } @@ -20021,6 +20034,7 @@ namespace UIKit { bool OpenInPlace { get; } [NoTV, iOS (14,5)] + [MacCatalyst (14,5)] [NullAllowed] [Export ("eventAttribution")] UIEventAttribution EventAttribution { get; } @@ -21386,22 +21400,27 @@ namespace UIKit { NSIndexPath GetIndexPath (ItemIdentifierType identifier); [TV (14,0), iOS (14,0)] + [MacCatalyst (14,0)] [Export ("reorderingHandlers", ArgumentSemantic.Copy)] UICollectionViewDiffableDataSourceReorderingHandlers ReorderingHandlers { get; set; } [TV (14,0), iOS (14,0)] + [MacCatalyst (14,0)] [Export ("applySnapshot:toSection:animatingDifferences:")] void ApplySnapshot (NSDiffableDataSourceSectionSnapshot snapshot, SectionIdentifierType sectionIdentifier, bool animatingDifferences); [TV (14,0), iOS (14,0)] + [MacCatalyst (14,0)] [Export ("applySnapshot:toSection:animatingDifferences:completion:")] void ApplySnapshot (NSDiffableDataSourceSectionSnapshot snapshot, SectionIdentifierType sectionIdentifier, bool animatingDifferences, [NullAllowed] Action completion); [TV (14,0), iOS (14,0)] + [MacCatalyst (14,0)] [Export ("snapshotForSection:")] NSDiffableDataSourceSectionSnapshot GetSnapshot (SectionIdentifierType section); [TV (14,0), iOS (14,0)] + [MacCatalyst (14,0)] [Export ("sectionSnapshotHandlers", ArgumentSemantic.Copy)] UICollectionViewDiffableDataSourceSectionSnapshotHandlers SectionSnapshotHandlers { get; set; } } @@ -21742,6 +21761,7 @@ namespace UIKit { } [NoWatch, TV (14,0), iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] interface NSDiffableDataSourceSectionSnapshot : NSCopying where ItemIdentifierType : NSObject { @@ -21821,6 +21841,7 @@ namespace UIKit { } [NoWatch, TV (14,0), iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface UIBackgroundConfiguration : NSCopying, NSSecureCoding { @@ -21904,6 +21925,7 @@ namespace UIKit { } [NoWatch, TV (14,0), iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [DesignatedDefaultCtor] interface UICellAccessory : NSCopying, NSSecureCoding { @@ -21925,18 +21947,21 @@ namespace UIKit { } [NoWatch, TV (14,0), iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (UICellAccessory))] interface UICellAccessoryDisclosureIndicator { } [NoWatch, TV (14,0), iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (UICellAccessory))] interface UICellAccessoryCheckmark { } [NoWatch, TV (14,0), iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (UICellAccessory))] interface UICellAccessoryDelete { @@ -21948,6 +21973,7 @@ namespace UIKit { } [NoWatch, TV (14,0), iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (UICellAccessory))] interface UICellAccessoryInsert { @@ -21959,6 +21985,7 @@ namespace UIKit { } [NoWatch, TV (14,0), iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (UICellAccessory))] interface UICellAccessoryReorder { @@ -21967,6 +21994,7 @@ namespace UIKit { } [NoWatch, TV (14,0), iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (UICellAccessory))] interface UICellAccessoryMultiselect { @@ -21975,6 +22003,7 @@ namespace UIKit { } [NoWatch, NoTV, iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (UICellAccessory))] interface UICellAccessoryOutlineDisclosure { @@ -21986,6 +22015,7 @@ namespace UIKit { } [NoWatch, TV (14,0), iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (UICellAccessory))] [DisableDefaultCtor] interface UICellAccessoryLabel { @@ -22005,9 +22035,11 @@ namespace UIKit { } [NoWatch, TV (14,0), iOS (14,0)] + [MacCatalyst (14,0)] delegate nuint UICellAccessoryPosition (UICellAccessory [] accessories); [NoWatch, TV (14,0), iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (UICellAccessory))] [DisableDefaultCtor] interface UICellAccessoryCustomView { @@ -22030,6 +22062,7 @@ namespace UIKit { } [NoWatch, TV (14,0), iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (UIViewConfigurationState))] [DisableDefaultCtor] interface UICellConfigurationState { @@ -22066,6 +22099,7 @@ namespace UIKit { delegate UIListSeparatorConfiguration UICollectionLayoutListItemSeparatorHandler (NSIndexPath indexPath, UIListSeparatorConfiguration sectionSeparatorConfiguration); [NoWatch, TV (14,0), iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface UICollectionLayoutListConfiguration : NSCopying { @@ -22082,10 +22116,12 @@ namespace UIKit { bool ShowsSeparators { get; set; } [Watch (7,4), NoTV, iOS (14,5)] + [MacCatalyst (14,5)] [Export ("separatorConfiguration", ArgumentSemantic.Copy)] UIListSeparatorConfiguration SeparatorConfiguration { get; set; } [Watch (7,4), NoTV, iOS (14,5)] + [MacCatalyst (14,5)] [NullAllowed] [Export ("itemSeparatorHandler", ArgumentSemantic.Copy)] UICollectionLayoutListItemSeparatorHandler ItemSeparatorHandler { get; set; } @@ -22111,9 +22147,11 @@ namespace UIKit { } [NoWatch, TV (14,0), iOS (14,0)] + [MacCatalyst (14,0)] delegate void UICollectionViewCellRegistrationConfigurationHandler (UICollectionViewCell cell, NSIndexPath indexPath, NSObject item); [NoWatch, TV (14,0), iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface UICollectionViewCellRegistration { @@ -22144,9 +22182,11 @@ namespace UIKit { } [NoWatch, TV (14,0), iOS (14,0)] + [MacCatalyst (14,0)] delegate void UICollectionViewSupplementaryRegistrationConfigurationHandler (UICollectionReusableView supplementaryView, string elementKind, NSIndexPath indexPath); [NoWatch, TV (14,0), iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface UICollectionViewSupplementaryRegistration { @@ -22180,6 +22220,7 @@ namespace UIKit { } [NoWatch, TV (14,0), iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (UICollectionViewCell))] interface UICollectionViewListCell { @@ -22209,6 +22250,7 @@ namespace UIKit { interface IUIColorPickerViewControllerDelegate { } [NoWatch, NoTV, iOS (14,0)] + [MacCatalyst (14,0)] [Protocol, Model (AutoGeneratedName = true)] [BaseType (typeof (NSObject))] interface UIColorPickerViewControllerDelegate { @@ -22221,6 +22263,7 @@ namespace UIKit { } [NoWatch, NoTV, iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (UIViewController))] [DesignatedDefaultCtor] interface UIColorPickerViewController @@ -22243,6 +22286,7 @@ namespace UIKit { } [NoWatch, NoTV, iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (UIControl))] interface UIColorWell { @@ -22262,6 +22306,7 @@ namespace UIKit { interface IUIConfigurationState {} [NoWatch, TV (14,0), iOS (14,0)] + [MacCatalyst (14,0)] [Protocol] interface UIConfigurationState : NSCopying, NSSecureCoding { @@ -22296,6 +22341,7 @@ namespace UIKit { interface IUIContentConfiguration {} [NoWatch, TV (14,0), iOS (14,0)] + [MacCatalyst (14,0)] [Protocol] interface UIContentConfiguration : NSCopying { @@ -22311,6 +22357,7 @@ namespace UIKit { interface IUIContentView {} [NoWatch, TV (14,0), iOS (14,0)] + [MacCatalyst (14,0)] [Protocol] interface UIContentView { @@ -22320,12 +22367,15 @@ namespace UIKit { } [NoWatch, TV (14,0), iOS (14,0)] + [MacCatalyst (14,0)] delegate void UIDeferredMenuElementCompletionHandler (UIMenuElement [] elements); [NoWatch, TV (14,0), iOS (14,0)] + [MacCatalyst (14,0)] delegate void UIDeferredMenuElementProviderHandler ([BlockCallback] UIDeferredMenuElementCompletionHandler completion); [NoWatch, TV (14,0), iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (UIMenuElement))] [DisableDefaultCtor] interface UIDeferredMenuElement { @@ -22336,6 +22386,7 @@ namespace UIKit { } [NoWatch, TV (14,0), iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] interface NSDiffableDataSourceSectionTransaction where SectionIdentifierType : NSObject @@ -22356,6 +22407,7 @@ namespace UIKit { } [NoWatch, TV (14,0), iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] interface NSDiffableDataSourceTransaction where SectionIdentifierType : NSObject @@ -22376,6 +22428,7 @@ namespace UIKit { } [NoWatch, NoTV, iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface UIIndirectScribbleInteraction : UIInteraction { @@ -22398,6 +22451,7 @@ namespace UIKit { interface IUIIndirectScribbleInteractionDelegate {} [NoWatch, NoTV, iOS (14,0)] + [MacCatalyst (14,0)] [Protocol, Model (AutoGeneratedName = true)] [BaseType (typeof (NSObject))] interface UIIndirectScribbleInteractionDelegate { @@ -22429,6 +22483,7 @@ namespace UIKit { } [NoWatch, TV (14,0), iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface UIListContentConfiguration : UIContentConfiguration, NSSecureCoding { @@ -22530,6 +22585,7 @@ namespace UIKit { } [NoWatch, TV (14,0), iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (UIView))] [DisableDefaultCtor] interface UIListContentView : UIContentView { @@ -22555,6 +22611,7 @@ namespace UIKit { delegate UIColor UIConfigurationColorTransformerHandler (UIColor color); [NoWatch, TV (14,0), iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface UIListContentImageProperties : NSCopying, NSSecureCoding { @@ -22588,6 +22645,7 @@ namespace UIKit { } [NoWatch, TV (14,0), iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface UIListContentTextProperties : NSCopying, NSSecureCoding { @@ -22631,12 +22689,14 @@ namespace UIKit { interface UIPointerLockStateDidChangeEventArgs { [NoWatch, NoTV, iOS (14,0)] + [MacCatalyst (14,0)] [NullAllowed] [Export ("UIPointerLockStateSceneUserInfoKey")] UIScene Scene { get; } } [NoWatch, NoTV, iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface UIPointerLockState { @@ -22650,6 +22710,7 @@ namespace UIKit { } [NoWatch, NoTV, iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface UIScribbleInteraction : UIInteraction { @@ -22676,6 +22737,7 @@ namespace UIKit { interface IUIScribbleInteractionDelegate { } [NoWatch, NoTV, iOS (14,0)] + [MacCatalyst (14,0)] [Protocol, Model (AutoGeneratedName = true)] [BaseType (typeof (NSObject))] interface UIScribbleInteractionDelegate { @@ -22713,6 +22775,7 @@ namespace UIKit { } [NoWatch, TV (14,0), iOS (14,0)] + [MacCatalyst (14,0)] [Static, Partial] interface UIConfigurationColorTransformer { @@ -22766,6 +22829,7 @@ namespace UIKit { } [NoWatch, TV (14,0), iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface UIViewConfigurationState : UIConfigurationState { @@ -22792,6 +22856,7 @@ namespace UIKit { // TODO: Our trampolines generator does not support generic delegate definitions [NoWatch, TV (14,0), iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] interface UICollectionViewDiffableDataSourceSectionSnapshotHandlers : NSCopying where ItemType : NSObject { @@ -22814,6 +22879,7 @@ namespace UIKit { // TODO: Our trampolines generator does not support generic delegate definitions [NoWatch, TV (14,0), iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] interface UICollectionViewDiffableDataSourceReorderingHandlers : NSCopying where SectionType : NSObject @@ -22830,6 +22896,7 @@ namespace UIKit { } [TV (14,0), iOS (14,0)] + [MacCatalyst (14,0)] [NoWatch] [Native] public enum UIListContentTextTransform : long { @@ -22840,6 +22907,7 @@ namespace UIKit { } [NoWatch, NoTV, iOS (14,5)] + [MacCatalyst (14,5)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface UIEventAttribution : NSCopying { @@ -22864,6 +22932,7 @@ namespace UIKit { } [NoWatch, NoTV, iOS (14,5)] + [MacCatalyst (14,5)] [BaseType (typeof (UIView))] interface UIEventAttributionView { @@ -22872,6 +22941,7 @@ namespace UIKit { } [NoWatch, NoTV, iOS (14,5)] + [MacCatalyst (14,5)] [Native] public enum UIListSeparatorVisibility : long { Automatic, @@ -22880,6 +22950,7 @@ namespace UIKit { } [NoWatch, NoTV, iOS (14,5)] + [MacCatalyst (14,5)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface UIListSeparatorConfiguration : NSCopying, NSSecureCoding { @@ -22908,6 +22979,7 @@ namespace UIKit { } [NoWatch, NoTV, iOS (14,5)] + [MacCatalyst (14,5)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface UIPrinterDestination : NSSecureCoding { diff --git a/src/videotoolbox.cs b/src/videotoolbox.cs index 388c647493..b221ec9ff2 100644 --- a/src/videotoolbox.cs +++ b/src/videotoolbox.cs @@ -104,6 +104,7 @@ namespace VideoToolbox { NSString ExpectedFrameRate { get; } [TV (14,5)][Mac (11,3)][iOS (14,5)] + [MacCatalyst (14,5)] [Field ("kVTCompressionPropertyKey_BaseLayerFrameRateFraction")] NSString BaseLayerFrameRateFraction { get; } @@ -194,19 +195,23 @@ namespace VideoToolbox { NSString UsingGpuRegistryId { get; } [Watch (7, 0), TV (14, 0), Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [Field ("kVTCompressionPropertyKey_HDRMetadataInsertionMode")] NSString HdrMetadataInsertionMode { get; } [TV (14, 0), Mac (11, 0), iOS (14, 0)] + [MacCatalyst (14,0)] [Field ("kVTCompressionPropertyKey_PrioritizeEncodingSpeedOverQuality")] NSString PrioritizeEncodingSpeedOverQuality { get; } [iOS (14,1)] [TV (14,2)][Mac (11,0)] + [MacCatalyst (14,1)] [Field ("kVTCompressionPropertyKey_PreserveDynamicHDRMetadata")] NSString PreserveDynamicHdrMetadata { get; } [TV (14,5)][Mac (11,3)][iOS (14,5)] + [MacCatalyst (14,5)] [Field ("kVTVideoEncoderSpecification_EnableLowLatencyRateControl")] NSString EnableLowLatencyRateControl { get; } } @@ -341,6 +346,7 @@ namespace VideoToolbox { [iOS (14,1)] [TV (14,2)][Mac (11,0)] + [MacCatalyst (14,1)] [Export ("PreserveDynamicHdrMetadata")] bool PreserveDynamicHdrMetadata { get; set; } } @@ -733,6 +739,7 @@ namespace VideoToolbox { [iOS (14,1)] [TV (14,2)][Mac (11,0)] + [MacCatalyst (14,1)] [Field ("kVTDecompressionPropertyKey_PropagatePerFrameHDRDisplayMetadata")] NSString PropagatePerFrameHdrDisplayMetadata { get; } } @@ -819,6 +826,7 @@ namespace VideoToolbox { [iOS (14,1)] [TV (14,2)][Mac (11,0)] + [MacCatalyst (14,1)] [Export ("PropagatePerFrameHdrDisplayMetadata")] bool PropagatePerFrameHhrDisplayMetadata { get; set; } } @@ -992,6 +1000,7 @@ namespace VideoToolbox { NSString IsHardwareAccelerated { get; } [iOS (14,2)][TV (14,2)][Mac (11,0)] + [MacCatalyst (14,2)] [Field ("kVTVideoEncoderList_SupportsFrameReordering")] NSString SupportsFrameReordering { get; } diff --git a/src/vision.cs b/src/vision.cs index 426317ef36..f8c791ff20 100644 --- a/src/vision.cs +++ b/src/vision.cs @@ -342,6 +342,7 @@ namespace Vision { } [TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [Native] enum VNDetectContourRequestRevision : ulong { Unspecified = 0, @@ -349,6 +350,7 @@ namespace Vision { } [TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [Native] enum VNDetectHumanBodyPoseRequestRevision : ulong { Unspecified = 0, @@ -356,6 +358,7 @@ namespace Vision { } [TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [Native] enum VNDetectHumanHandPoseRequestRevision : ulong { Unspecified = 0, @@ -363,6 +366,7 @@ namespace Vision { } [TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [Native] enum VNDetectTrajectoriesRequestRevision : ulong { Unspecified = 0, @@ -370,6 +374,7 @@ namespace Vision { } [TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [Native] public enum VNGenerateOpticalFlowRequestComputationAccuracy : ulong { Low = 0, @@ -379,6 +384,7 @@ namespace Vision { } [TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [Native] enum VNGenerateOpticalFlowRequestRevision : ulong { Unspecified = 0, @@ -386,6 +392,7 @@ namespace Vision { } [TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [Native] enum VNStatefulRequestRevision : ulong { Unspecified = 0, @@ -393,6 +400,7 @@ namespace Vision { } [TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] enum VNHumanBodyPoseObservationJointName { [DefaultEnumValue] [Field (null)] @@ -457,6 +465,7 @@ namespace Vision { } [TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] enum VNHumanBodyPoseObservationJointsGroupName { [DefaultEnumValue] [Field (null)] @@ -485,6 +494,7 @@ namespace Vision { } [TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] enum VNHumanHandPoseObservationJointName { [DefaultEnumValue] [Field (null)] @@ -555,6 +565,7 @@ namespace Vision { } [TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] enum VNHumanHandPoseObservationJointsGroupName { [DefaultEnumValue] [Field (null)] @@ -1462,6 +1473,7 @@ namespace Vision { float Confidence { get; } [TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [Export ("timeRange", ArgumentSemantic.Assign)] CMTimeRange TimeRange { get; } } @@ -1878,18 +1890,22 @@ namespace Vision { IntPtr Constructor (NSData imageData, CGImagePropertyOrientation orientation, VNImageOptions imageOptions); [TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [Export ("initWithCMSampleBuffer:options:")] IntPtr Constructor (CMSampleBuffer sampleBuffer, NSDictionary options); [TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [Wrap ("this (sampleBuffer, imageOptions.GetDictionary ()!)")] IntPtr Constructor (CMSampleBuffer sampleBuffer, VNImageOptions imageOptions); [TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [Export ("initWithCMSampleBuffer:orientation:options:")] IntPtr Constructor (CMSampleBuffer sampleBuffer, CGImagePropertyOrientation orientation, NSDictionary options); [TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [Wrap ("this (sampleBuffer, orientation, imageOptions.GetDictionary ()!)")] IntPtr Constructor (CMSampleBuffer sampleBuffer, CGImagePropertyOrientation orientation, VNImageOptions imageOptions); @@ -1937,10 +1953,12 @@ namespace Vision { bool Perform (VNRequest [] requests, NSData imageData, CGImagePropertyOrientation orientation, out NSError error); [TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [Export ("performRequests:onCMSampleBuffer:error:")] bool Perform (VNRequest[] requests, CMSampleBuffer sampleBuffer, [NullAllowed] out NSError error); [TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [Export ("performRequests:onCMSampleBuffer:orientation:error:")] bool Perform (VNRequest[] requests, CMSampleBuffer sampleBuffer, CGImagePropertyOrientation orientation, [NullAllowed] out NSError error); } @@ -2072,34 +2090,42 @@ namespace Vision { IntPtr Constructor (NSData imageData, CGImagePropertyOrientation orientation, VNImageOptions options, VNRequestCompletionHandler completionHandler); [TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [Export ("initWithTargetedCMSampleBuffer:options:")] IntPtr Constructor (CMSampleBuffer sampleBuffer, NSDictionary optionsDict); [TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [Wrap ("this (sampleBuffer, options.GetDictionary ()!)")] IntPtr Constructor (CMSampleBuffer sampleBuffer, VNImageOptions options); [TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [Export ("initWithTargetedCMSampleBuffer:options:completionHandler:")] IntPtr Constructor (CMSampleBuffer sampleBuffer, NSDictionary optionsDict, [NullAllowed] VNRequestCompletionHandler completionHandler); [TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [Wrap ("this (sampleBuffer, options.GetDictionary ()!, completionHandler)")] IntPtr Constructor (CMSampleBuffer sampleBuffer, VNImageOptions options, VNRequestCompletionHandler completionHandler); [TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [Export ("initWithTargetedCMSampleBuffer:orientation:options:")] IntPtr Constructor (CMSampleBuffer sampleBuffer, CGImagePropertyOrientation orientation, NSDictionary optionsDict); [TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [Wrap ("this (sampleBuffer, orientation, options.GetDictionary ()!)")] IntPtr Constructor (CMSampleBuffer sampleBuffer, CGImagePropertyOrientation orientation, VNImageOptions options); [TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [Export ("initWithTargetedCMSampleBuffer:orientation:options:completionHandler:")] IntPtr Constructor (CMSampleBuffer sampleBuffer, CGImagePropertyOrientation orientation, NSDictionary optionsDict, [NullAllowed] VNRequestCompletionHandler completionHandler); [TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [Wrap ("this (sampleBuffer, orientation, options.GetDictionary ()!, completionHandler)")] IntPtr Constructor (CMSampleBuffer sampleBuffer, CGImagePropertyOrientation orientation, VNImageOptions options, VNRequestCompletionHandler completionHandler); } @@ -2609,6 +2635,7 @@ namespace Vision { } [TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (VNImageBasedRequest))] [DisableDefaultCtor] interface VNDetectContoursRequest { @@ -2651,6 +2678,7 @@ namespace Vision { } [TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (VNRecognizedPointsObservation))] [DisableDefaultCtor] interface VNHumanBodyPoseObservation { @@ -2673,6 +2701,7 @@ namespace Vision { } [TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (VNImageBasedRequest))] [DisableDefaultCtor] interface VNDetectHumanBodyPoseRequest { @@ -2721,6 +2750,7 @@ namespace Vision { } [TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (VNRecognizedPointsObservation))] [DisableDefaultCtor] interface VNHumanHandPoseObservation { @@ -2743,6 +2773,7 @@ namespace Vision { } [TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (VNImageBasedRequest))] [DisableDefaultCtor] interface VNDetectHumanHandPoseRequest { @@ -2794,6 +2825,7 @@ namespace Vision { } [TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (VNStatefulRequest))] [DisableDefaultCtor] interface VNDetectTrajectoriesRequest { @@ -2838,6 +2870,7 @@ namespace Vision { } [TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface VNPoint : NSCopying, NSSecureCoding { @@ -2871,6 +2904,7 @@ namespace Vision { } [TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface VNVector : NSCopying, NSSecureCoding { @@ -2930,6 +2964,7 @@ namespace Vision { } [TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface VNCircle : NSCopying, NSSecureCoding { @@ -2963,6 +2998,7 @@ namespace Vision { } [TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] // Not meant to be created but obtained via VNContoursObservation interface VNContour : NSCopying, VNRequestRevisionProviding { @@ -3001,6 +3037,7 @@ namespace Vision { } [TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (VNPoint))] [DisableDefaultCtor] interface VNDetectedPoint { @@ -3010,6 +3047,7 @@ namespace Vision { } [TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (VNDetectedPoint))] [DisableDefaultCtor] interface VNRecognizedPoint { @@ -3020,6 +3058,7 @@ namespace Vision { } [TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface VNGeometryUtils { @@ -3050,6 +3089,7 @@ namespace Vision { } [TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (VNTargetedImageRequest))] interface VNGenerateOpticalFlowRequest { @@ -3206,6 +3246,7 @@ namespace Vision { } [TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (VNObservation))] [DisableDefaultCtor] interface VNTrajectoryObservation { @@ -3224,6 +3265,7 @@ namespace Vision { } [TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (VNObservation))] [DisableDefaultCtor] interface VNContoursObservation { @@ -3253,6 +3295,7 @@ namespace Vision { } [TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (VNObservation))] [DisableDefaultCtor] interface VNRecognizedPointsObservation { @@ -3295,6 +3338,7 @@ namespace Vision { } [TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (VNImageBasedRequest))] [DisableDefaultCtor] interface VNStatefulRequest { @@ -3333,6 +3377,7 @@ namespace Vision { } [TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface VNVideoProcessor { @@ -3354,6 +3399,7 @@ namespace Vision { } [TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface VNVideoProcessorCadence : NSCopying { @@ -3361,6 +3407,7 @@ namespace Vision { } [TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (VNVideoProcessorCadence))] [DisableDefaultCtor] interface VNVideoProcessorFrameRateCadence { @@ -3374,6 +3421,7 @@ namespace Vision { } [TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (VNVideoProcessorCadence))] [DisableDefaultCtor] interface VNVideoProcessorTimeIntervalCadence { @@ -3387,6 +3435,7 @@ namespace Vision { } [TV (14,0), Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] interface VNVideoProcessorRequestProcessingOptions : NSCopying { diff --git a/src/wkwebkit.cs b/src/wkwebkit.cs index da46023454..805bc8c245 100644 --- a/src/wkwebkit.cs +++ b/src/wkwebkit.cs @@ -194,6 +194,7 @@ namespace WebKit #endif [Mac (11,3)][iOS (14,5)] + [MacCatalyst (14,5)] [Export ("shouldPerformDownload")] bool ShouldPerformDownload { get; } } @@ -244,10 +245,12 @@ namespace WebKit void ShouldAllowDeprecatedTls (WKWebView webView, NSUrlAuthenticationChallenge challenge, Action decisionHandler); [Mac (11,3)][iOS (14,5)] + [MacCatalyst (14,5)] [Export ("webView:navigationAction:didBecomeDownload:")] void NavigationActionDidBecomeDownload (WKWebView webView, WKNavigationAction navigationAction, WKDownload download); [Mac (11,3)][iOS (14,5)] + [MacCatalyst (14,5)] [Export ("webView:navigationResponse:didBecomeDownload:")] void NavigationResponseDidBecomeDownload (WKWebView webView, WKNavigationResponse navigationResponse, WKDownload download); } @@ -300,6 +303,7 @@ namespace WebKit bool FraudulentWebsiteWarningEnabled { [Bind ("isFraudulentWebsiteWarningEnabled")] get; set; } [Mac (11,3)][iOS (14,5)] + [MacCatalyst (14,5)] [Export ("textInteractionEnabled")] bool TextInteractionEnabled { get; set; } } @@ -324,6 +328,7 @@ namespace WebKit WKFrameInfo FrameInfo { get; } [Mac (11,0)][iOS (14,0)] + [MacCatalyst (14,0)] [Export ("world")] WKContentWorld World { get; } } @@ -587,10 +592,12 @@ namespace WebKit void AddScriptMessageHandler ([Protocolize] WKScriptMessageHandler scriptMessageHandler, string name); [Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [Export ("addScriptMessageHandler:contentWorld:name:")] void AddScriptMessageHandler (IWKScriptMessageHandler scriptMessageHandler, WKContentWorld world, string name); [Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [Export ("addScriptMessageHandlerWithReply:contentWorld:name:")] void AddScriptMessageHandler (IWKScriptMessageHandlerWithReply scriptMessageHandlerWithReply, WKContentWorld contentWorld, string name); @@ -598,6 +605,7 @@ namespace WebKit void RemoveScriptMessageHandler (string name); [Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [Export ("removeScriptMessageHandlerForName:contentWorld:")] void RemoveScriptMessageHandler (string name, WKContentWorld contentWorld); @@ -614,6 +622,7 @@ namespace WebKit void RemoveAllContentRuleLists (); [Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [Export ("removeAllScriptMessageHandlersFromContentWorld:")] void RemoveAllScriptMessageHandlers (WKContentWorld contentWorld); @@ -631,6 +640,7 @@ namespace WebKit IntPtr Constructor (NSString source, WKUserScriptInjectionTime injectionTime, bool isForMainFrameOnly); [Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [Export ("initWithSource:injectionTime:forMainFrameOnly:inContentWorld:")] IntPtr Constructor (NSString source, WKUserScriptInjectionTime injectionTime, bool isForMainFrameOnly, WKContentWorld contentWorld); @@ -823,73 +833,88 @@ namespace WebKit bool HandlesUrlScheme (string urlScheme); [Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [Async] [Export ("evaluateJavaScript:inFrame:inContentWorld:completionHandler:")] void EvaluateJavaScript (string javaScriptString, [NullAllowed] WKFrameInfo frame, WKContentWorld contentWorld, [NullAllowed] Action completionHandler); [Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [Async] [Export ("callAsyncJavaScript:arguments:inFrame:inContentWorld:completionHandler:")] void CallAsyncJavaScript (string functionBody, [NullAllowed] NSDictionary arguments, [NullAllowed] WKFrameInfo frame, WKContentWorld contentWorld, [NullAllowed] Action completionHandler); [Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [Async] [Export ("createPDFWithConfiguration:completionHandler:")] void CreatePdf ([NullAllowed] WKPdfConfiguration pdfConfiguration, Action completionHandler); [Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [Async] [Export ("createWebArchiveDataWithCompletionHandler:")] void CreateWebArchive (Action completionHandler); [Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [Async] [Export ("findString:withConfiguration:completionHandler:")] void Find (string @string, [NullAllowed] WKFindConfiguration configuration, Action completionHandler); [Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [NullAllowed, Export ("mediaType")] string MediaType { get; set; } [Mac (11,0), iOS (14,0)] + [MacCatalyst (14,0)] [Export ("pageZoom")] nfloat PageZoom { get; set; } [NoiOS] + [NoMacCatalyst] [Mac (11,0)] [Export ("printOperationWithPrintInfo:")] NSPrintOperation GetPrintOperation (NSPrintInfo printInfo); [Mac (11,3)][iOS (14,5)] + [MacCatalyst (14,5)] [Export ("closeAllMediaPresentations")] void CloseAllMediaPresentations (); [Mac (11,3)][iOS (14,5)] + [MacCatalyst (14,5)] [Async] [Export ("pauseAllMediaPlayback:")] void PauseAllMediaPlayback ([NullAllowed] Action completionHandler); [Mac (11,3)][iOS (14,5)] + [MacCatalyst (14,5)] [Async] [Export ("suspendAllMediaPlayback:")] void SuspendAllMediaPlayback ([NullAllowed] Action completionHandler); [Mac (11,3)][iOS (14,5)] + [MacCatalyst (14,5)] [Async] [Export ("resumeAllMediaPlayback:")] void ResumeAllMediaPlayback ([NullAllowed] Action completionHandler); [Mac (11,3)][iOS (14,5)] + [MacCatalyst (14,5)] [Async] [Export ("requestMediaPlaybackState:")] void RequestMediaPlaybackState (Action completionHandler); [Mac (11,3)][iOS (14,5)] + [MacCatalyst (14,5)] [Async] [Export ("startDownloadUsingRequest:completionHandler:")] void StartDownload (NSUrlRequest request, Action completionHandler); [Mac (11,3)][iOS (14,5)] + [MacCatalyst (14,5)] [Async] [Export ("resumeDownloadFromResumeData:completionHandler:")] void ResumeDownload (NSData resumeData, Action completionHandler); @@ -1099,6 +1124,7 @@ namespace WebKit } [Mac (11,0)][iOS (14,0)] + [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface WKContentWorld { @@ -1180,6 +1206,7 @@ namespace WebKit interface IWKDownloadDelegate {} [Mac (11,3)][iOS (14,5)] + [MacCatalyst (14,5)] [Protocol, Model (AutoGeneratedName = true)] [BaseType (typeof (NSObject))] interface WKDownloadDelegate { @@ -1202,6 +1229,7 @@ namespace WebKit } [Mac (11,3)][iOS (14,5)] + [MacCatalyst (14,5)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface WKDownload : NSProgressReporting { diff --git a/tests/introspection/ApiAvailabilityTest.cs b/tests/introspection/ApiAvailabilityTest.cs index 7759b98ce7..a1742f1039 100644 --- a/tests/introspection/ApiAvailabilityTest.cs +++ b/tests/introspection/ApiAvailabilityTest.cs @@ -40,7 +40,10 @@ namespace Introspection { public ApiAvailabilityTest () { Maximum = Version.Parse (Constants.SdkVersion); -#if __IOS__ +#if __MACCATALYST__ + Platform = PlatformName.MacCatalyst; + Minimum = Xamarin.SdkVersions.MinMacCatalystVersion; +#elif __IOS__ Platform = PlatformName.iOS; Minimum = Xamarin.SdkVersions.MiniOSVersion; #elif __TVOS__ @@ -164,7 +167,7 @@ namespace Introspection { } [Test] -#if NET +#if NET || __MACCATALYST__ [Ignore ("Requires attributes update - see status in https://github.com/xamarin/xamarin-macios/issues/10834")] #endif public void Introduced () diff --git a/tests/introspection/ApiCMAttachmentTest.cs b/tests/introspection/ApiCMAttachmentTest.cs index 998a6cb420..52a1a82a55 100644 --- a/tests/introspection/ApiCMAttachmentTest.cs +++ b/tests/introspection/ApiCMAttachmentTest.cs @@ -133,6 +133,8 @@ namespace Introspection { public AttachableNativeObject (INativeObject obj) { + if (obj == null) + throw new ArgumentNullException ("obj"); nativeObj = obj; } @@ -302,7 +304,11 @@ namespace Introspection { return new CGDataConsumer (destData); } case "CGDataProvider": +#if __MACCATALYST__ + filename = Path.Combine ("Contents", "Resources", "xamarin1.png"); +#else filename = "xamarin1.png"; +#endif return new CGDataProvider (filename); case "CGFont": return CGFont.CreateWithFontName ("Courier New"); @@ -367,7 +373,11 @@ namespace Introspection { using (var value = new NSString ("value")) return new CGImageMetadataTag (CGImageMetadataTagNamespaces.Exif, CGImageMetadataTagPrefixes.Exif, name, CGImageMetadataType.Default, value); case "CGImageSource": +#if __MACCATALYST__ + filename = Path.Combine ("Contents", "Resources", "xamarin1.png"); +#else filename = "xamarin1.png"; +#endif return CGImageSource.FromUrl (NSUrl.FromFilename (filename)); case "SecPolicy": return SecPolicy.CreateSslPolicy (false, null); @@ -410,7 +420,11 @@ namespace Introspection { CGColor[] cArray = { UIColor.Black.CGColor, UIColor.Clear.CGColor, UIColor.Blue.CGColor }; return new CGGradient (null, cArray); case "CGImage": +#if __MACCATALYST__ + filename = Path.Combine ("Contents", "Resources", "xamarin1.png"); +#else filename = "xamarin1.png"; +#endif using (var dp = new CGDataProvider (filename)) return CGImage.FromPNG (dp, null, false, CGColorRenderingIntent.Default); case "CGColor": @@ -530,8 +544,11 @@ namespace Introspection { && !t.IsSubclassOf (DispatchSourceType) && !t.IsInterface && !t.IsAbstract); foreach (var t in types) { if (Skip (t)) - continue; - var obj = new AttachableNativeObject (GetINativeInstance (t)); + continue; + var n = GetINativeInstance (t); + if (n == null) + Assert.Fail ("Could not create instance of '{0}'.", t); + var obj = new AttachableNativeObject (n); Assert.That (obj.Handle, Is.Not.EqualTo (IntPtr.Zero), t.Name + ".Handle"); using (var attch = new CFString ("myAttch")) { CMAttachmentMode otherMode; diff --git a/tests/introspection/ApiCtorInitTest.cs b/tests/introspection/ApiCtorInitTest.cs index 936bcf8941..c0ee0d75bd 100644 --- a/tests/introspection/ApiCtorInitTest.cs +++ b/tests/introspection/ApiCtorInitTest.cs @@ -25,7 +25,7 @@ using System.Linq; using System.Text; using NUnit.Framework; -#if __IOS__ +#if HAS_ARKIT using ARKit; #endif @@ -603,7 +603,7 @@ namespace Introspection { return SkipDueToAttribute (type); } -#if __IOS__ +#if HAS_ARKIT /// /// Ensures that all subclasses of a base class that conforms to IARAnchorCopying re-expose its constructor. /// Note: we cannot have constructors in protocols so we have to inline them in every subclass. diff --git a/tests/introspection/ApiFrameworkTest.cs b/tests/introspection/ApiFrameworkTest.cs index d7af7d3bcb..2ad4fb06a2 100644 --- a/tests/introspection/ApiFrameworkTest.cs +++ b/tests/introspection/ApiFrameworkTest.cs @@ -140,7 +140,7 @@ namespace Introspection { AssertIfErrors ($"{Errors} unknown frameworks found:\n{ErrorData}"); } -#if __IOS__ +#if __IOS__ && !__MACCATALYST__ [Test] public void Simlauncher () { diff --git a/tests/introspection/ApiPInvokeTest.cs b/tests/introspection/ApiPInvokeTest.cs index 12be54c1e2..be671e54b9 100644 --- a/tests/introspection/ApiPInvokeTest.cs +++ b/tests/introspection/ApiPInvokeTest.cs @@ -276,6 +276,9 @@ namespace Introspection // it's not complete (there's many more SDK assemblies) but we cannot add all of them into a single project anyway [Test] +#if __MACCATALYST__ + [Ignore ("https://github.com/xamarin/xamarin-macios/issues/10883")] +#endif public void Corlib () { var a = typeof (int).Assembly; @@ -283,7 +286,9 @@ namespace Introspection Check (a); } - [Test] +#if __MACCATALYST__ + [Ignore ("https://github.com/xamarin/xamarin-macios/issues/10883")] +#endif public void System () { var a = typeof (System.Net.WebClient).Assembly; @@ -291,7 +296,9 @@ namespace Introspection Check (a); } - [Test] +#if __MACCATALYST__ + [Ignore ("https://github.com/xamarin/xamarin-macios/issues/10883")] +#endif public void SystemCore () { var a = typeof (Enumerable).Assembly; diff --git a/tests/introspection/ApiProtocolTest.cs b/tests/introspection/ApiProtocolTest.cs index 636c4a877e..4acfd7e0f6 100644 --- a/tests/introspection/ApiProtocolTest.cs +++ b/tests/introspection/ApiProtocolTest.cs @@ -8,6 +8,7 @@ // using System; +using System.Collections.Generic; using System.Reflection; using System.Runtime.InteropServices; using NUnit.Framework; @@ -38,6 +39,12 @@ namespace Introspection { // *** NSForwarding: warning: object 0x5cbd078 of class 'JSExport' does not implement doesNotRecognizeSelector: -- abort case "JSExport": return true; +#if !XAMCORE_4_0 + case "MTLCounter": + case "MTLCounterSampleBuffer": + case "MTLCounterSet": + return true; // Incorrectly bound, will be fixed for XAMCORE_4_0. +#endif default: return SkipDueToAttribute (type); } @@ -233,6 +240,10 @@ namespace Introspection { return true; // Xcode 12.3 case "GCDirectionalGamepad": + case "GCExtendedGamepadSnapshot": + case "GCGamepadSnapshot": + case "GCMicroGamepadSnapshot": + case "GCGamepad": return true; // Xcode 12.5 case "GCDualSenseGamepad": @@ -346,6 +357,10 @@ namespace Introspection { // Xcode 12.3 case "ARAppClipCodeAnchor": // Conformance comes from the base type, ARAppClipCodeAnchor conforms to NSSecureCoding but SupportsSecureCoding returned false. case "GCDirectionalGamepad": + case "GCExtendedGamepadSnapshot": + case "GCGamepadSnapshot": + case "GCMicroGamepadSnapshot": + case "GCGamepad": return true; // Xcode 12.5 case "GCDualSenseGamepad": @@ -419,12 +434,6 @@ namespace Introspection { break; } break; -#if !XAMCORE_4_0 - case "MTLCounter": - case "MTLCounterSampleBuffer": - case "MTLCounterSet": - return true; // Incorrectly bound, will be fixed for XAMCORE_4_0. -#endif } return false; } @@ -454,25 +463,26 @@ namespace Introspection { public void Coding () { Errors = 0; + var list = new List (); CheckProtocol ("NSCoding", delegate (Type type, IntPtr klass, bool result) { + // `type` conforms to (native) NSCoding so... if (result) { - // `type` conforms to (native) NSCoding so... - if (result) { - // the type should implements INSCoding - if (!typeof (INSCoding).IsAssignableFrom (type)) { - ReportError ("{0} conforms to NSCoding but does not implement INSCoding", type.Name); - } - // FIXME: and implement the .ctor(NSCoder) + // the type should implements INSCoding + if (!typeof (INSCoding).IsAssignableFrom (type)) { + list.Add (type.Name); + ReportError ("{0} conforms to NSCoding but does not implement INSCoding", type.Name); } + // FIXME: and implement the .ctor(NSCoder) } }); - Assert.AreEqual (Errors, 0, "{0} types conforms to NSCoding but does not implement INSCoding", Errors); + Assert.AreEqual (Errors, 0, "{0} types conforms to NSCoding but does not implement INSCoding: {1}", Errors, String.Join ('\n', list)); } // [Test] -> iOS 6.0+ and Mountain Lion (10.8) + public virtual void SecureCoding () { Errors = 0; + var list = new List (); CheckProtocol ("NSSecureCoding", delegate (Type type, IntPtr klass, bool result) { if (result) { // the type should implements INSSecureCoding @@ -481,7 +491,7 @@ namespace Introspection { } } }); - Assert.AreEqual (Errors, 0, "{0} types conforms to NSSecureCoding but does not implement INSSecureCoding", Errors); + Assert.AreEqual (Errors, 0, "{0} types conforms to NSSecureCoding but does not implement INSSecureCoding: {1}", Errors, String.Join ('\n', list)); } bool SupportsSecureCoding (Type type) @@ -545,38 +555,43 @@ namespace Introspection { public void Copying () { Errors = 0; + var list = new List (); CheckProtocol ("NSCopying", delegate (Type type, IntPtr klass, bool result) { // `type` conforms to (native) NSCopying so... if (result) { // the type should implements INSCopying if (!typeof (INSCopying).IsAssignableFrom (type)) { + list.Add (type.Name); ReportError ("{0} conforms to NSCopying but does not implement INSCopying", type.Name); } } }); - Assert.AreEqual (Errors, 0, "{0} types conforms to NSCopying but does not implement INSCopying", Errors); + Assert.AreEqual (Errors, 0, "{0} types conforms to NSCopying but does not implement INSCopying: {1}", Errors, String.Join ('\n', list)); } [Test] public void MutableCopying () { Errors = 0; + var list = new List (); CheckProtocol ("NSMutableCopying", delegate (Type type, IntPtr klass, bool result) { // `type` conforms to (native) NSMutableCopying so... if (result) { // the type should implements INSMutableCopying if (!typeof (INSMutableCopying).IsAssignableFrom (type)) { + list.Add (type.Name); ReportError ("{0} conforms to NSMutableCopying but does not implement INSMutableCopying", type.Name); } } }); - Assert.AreEqual (Errors, 0, "{0} types conforms to NSMutableCopying but does not implement INSMutableCopying", Errors); + Assert.AreEqual (Errors, 0, "{0} types conforms to NSMutableCopying but does not implement INSMutableCopying: {1}", Errors, String.Join ('\n', list)); } [Test] public void GeneralCase () { Errors = 0; + var list = new List (); foreach (Type t in Assembly.GetTypes ()) { if (!NSObjectType.IsAssignableFrom (t)) continue; @@ -584,6 +599,34 @@ namespace Introspection { if (Skip (t)) continue; + var klass = new Class (t); + if (klass.Handle == IntPtr.Zero) { + // This can often by caused by [Protocol] classes with no [Model] but having a [BaseType]. + // Either have both a Model and BaseType or neither + switch (t.Name) { +#if !MONOMAC + case "MTLCaptureManager": + case "NEHotspotConfiguration": + case "NEHotspotConfigurationManager": + case "NEHotspotEapSettings": + case "NEHotspotHS20Settings": + case "SCNGeometryTessellator": + case "SKRenderer": + // was not possible in iOS 11.4 (current minimum) simulator + if (!TestRuntime.CheckXcodeVersion (12,0)) { + if (Runtime.Arch == Arch.SIMULATOR) + continue; + } + break; +#endif + default: + var e = $"[FAIL] Could not load {t.FullName}"; + list.Add (e); + AddErrorLine (e); + continue; + } + } + foreach (var intf in t.GetInterfaces ()) { if (SkipDueToAttribute (intf)) continue; @@ -613,18 +656,13 @@ namespace Introspection { if (LogProgress) Console.WriteLine ("{0} conforms to {1}", t.FullName, protocolName); - var klass = new Class (t); - if (klass.Handle == IntPtr.Zero) { - // This can often by caused by [Protocol] classes with no [Model] but having a [BaseType]. - // Either have both a Model and BaseType or neither - AddErrorLine ("[FAIL] Could not load {0}", t.FullName); - } else if (t.IsPublic && !ConformTo (klass.Handle, protocol)) { + if (t.IsPublic && !ConformTo (klass.Handle, protocol)) { // note: some internal types, e.g. like UIAppearance subclasses, return false (and there's not much value in changing this) - ReportError ("Type {0} (native: {1}) does not conform {2}", t.FullName, klass.Name, protocolName); + list.Add ($"Type {t.FullName} (native: {klass.Name}) does not conform {protocolName}"); } } } - AssertIfErrors ("{0} types do not really conform to the protocol interfaces", Errors); + AssertIfErrors ("{0} types do not really conform to the protocol interfaces: {1}", Errors, String.Join ('\n', list)); } } } diff --git a/tests/introspection/ApiSelectorTest.cs b/tests/introspection/ApiSelectorTest.cs index fabc0b6539..5b928e12cd 100644 --- a/tests/introspection/ApiSelectorTest.cs +++ b/tests/introspection/ApiSelectorTest.cs @@ -757,6 +757,19 @@ namespace Introspection { break; } break; +#if __MACOS__ || __MACCATALYST__ + case "MLDictionaryFeatureProvider": + case "MLMultiArray": + case "MLFeatureValue": + case "MLSequence": + switch (selectorName) { + case "encodeWithCoder:": + if (!TestRuntime.CheckXcodeVersion (12, 0)) + return true; + break; + } + break; +#endif case "BGTaskScheduler": switch (selectorName) { case "sharedScheduler": diff --git a/tests/introspection/ApiTypeTest.cs b/tests/introspection/ApiTypeTest.cs index 6366aef4f1..f6074d3488 100644 --- a/tests/introspection/ApiTypeTest.cs +++ b/tests/introspection/ApiTypeTest.cs @@ -1,4 +1,5 @@ using System; +using System.Collections.Generic; using System.Reflection; using System.Runtime.CompilerServices; @@ -35,6 +36,7 @@ namespace Introspection { [Test] public void StaticCtor () { + var issues = new HashSet (); ContinueOnFailure = true; foreach (Type t in Assembly.GetTypes ()) { if (Skip (t)) @@ -49,10 +51,11 @@ namespace Introspection { RuntimeHelpers.RunClassConstructor (t.TypeHandle); } catch (TypeInitializationException e) { + issues.Add (t.FullName); ReportError ($"{t.FullName} .cctor could not execute properly: {e}"); } } - AssertIfErrors ($"{Errors} execution failure(s)"); + AssertIfErrors ($"{Errors} execution failure(s): " + String.Join (',', issues)); } } } \ No newline at end of file diff --git a/tests/introspection/Mac/MacApiProtocolTest.cs b/tests/introspection/Mac/MacApiProtocolTest.cs index 9cf9116586..ec749b9bfb 100644 --- a/tests/introspection/Mac/MacApiProtocolTest.cs +++ b/tests/introspection/Mac/MacApiProtocolTest.cs @@ -21,6 +21,22 @@ namespace Introspection { [TestFixture] public class MonoMacFixtures : ApiProtocolTest { + protected override bool Skip (Type type) + { + switch (type.Name) { +#if !XAMCORE_4_0 + case "NSDraggingInfo": + return true; // Incorrectly bound (BaseType on protocol), will be fixed for XAMCORE_4_0. +#endif + // special cases wrt sandboxing + case "NSRemoteOpenPanel": + case "NSRemoteSavePanel": + return true; + default: + return base.Skip (type); + } + } + protected override bool Skip (Type type, string protocolName) { switch (protocolName) { diff --git a/tests/introspection/Mac/MacApiSelectorTest.cs b/tests/introspection/Mac/MacApiSelectorTest.cs index 2517ff922e..c65b6e4f6d 100644 --- a/tests/introspection/Mac/MacApiSelectorTest.cs +++ b/tests/introspection/Mac/MacApiSelectorTest.cs @@ -138,13 +138,6 @@ namespace Introspection { if (!Mac.CheckSystemVersion (10, 12)) // NSCoding was added in 10.12 return true; break; - case "MLDictionaryFeatureProvider": - case "MLMultiArray": - case "MLFeatureValue": - case "MLSequence": - if (!Mac.CheckSystemVersion (11, 0)) // NSCoding was added in 10.16 / 11 - return true; - break; } break; case "accessibilityNotifiesWhenDestroyed": diff --git a/tests/introspection/iOS/iOSApiCtorInitTest.cs b/tests/introspection/iOS/iOSApiCtorInitTest.cs index 7380fe7b0b..0bd3dca691 100644 --- a/tests/introspection/iOS/iOSApiCtorInitTest.cs +++ b/tests/introspection/iOS/iOSApiCtorInitTest.cs @@ -127,7 +127,12 @@ namespace Introspection { // and that new base class GKGameCenterViewController did not exists before 6.0 // which makes the type unusable in 5.x, ref: https://gist.github.com/spouliot/271b6230a3aa2b58bc6e return !TestRuntime.CheckXcodeVersion (4, 5); - +#if __MACCATALYST__ + // just like macOS the native 'init' method returned nil. + // Web docs mentions uthenticaing a local player is required and sample shows a null check after creating the vc + case "GKGameCenterViewController": + return true; +#endif // mistake - we should not have exposed those default ctor and now we must live with them case "GCControllerElement": case "GCControllerAxisInput": diff --git a/tests/introspection/iOS/iOSApiProtocolTest.cs b/tests/introspection/iOS/iOSApiProtocolTest.cs index 9a91cae80b..ac0d4b4a1c 100644 --- a/tests/introspection/iOS/iOSApiProtocolTest.cs +++ b/tests/introspection/iOS/iOSApiProtocolTest.cs @@ -11,7 +11,7 @@ using System; using Foundation; using ObjCRuntime; using UIKit; -#if !__TVOS__ +#if HAS_WATCHCONNECTIVITY using WatchConnectivity; #endif using NUnit.Framework; @@ -36,6 +36,8 @@ namespace Introspection { case "MonoTouch.MetalKit": case "MetalPerformanceShaders": case "MonoTouch.MetalPerformanceShaders": + case "MLCompute": + case "MediaSetup": if (Runtime.Arch == Arch.SIMULATOR) return true; break; @@ -58,8 +60,12 @@ namespace Introspection { return true; break; + case "MTLCounter": + case "MTLCounterSampleBuffer": + case "MTLCounterSet": case "MTLFence": case "MTLHeap": + case "MTLSharedTextureHandle": case "RPSystemBroadcastPickerView": // Symbol not available in simulator if (Runtime.Arch != Arch.DEVICE) return true; @@ -68,6 +74,13 @@ namespace Introspection { if (!TestRuntime.CheckXcodeVersion (8, 0)) return true; break; + case "CAMetalLayer": + case "MTLFunctionConstantValues": + case "MTLHeapDescriptor": + // Symbol not available in simulator - but works on BigSur (others might too) + if (Runtime.Arch != Arch.DEVICE) + return true; + break; case "CMMovementDisorderManager": // From Xcode 10 beta 2: // This requires a special entitlement: @@ -121,13 +134,13 @@ namespace Introspection { return true; break; -#if !__TVOS__ +#if HAS_WATCHCONNECTIVITY case "WatchConnectivity": case "MonoTouch.WatchConnectivity": if (!WCSession.IsSupported) return true; break; -#endif // !__TVOS__ +#endif // HAS_WATCHCONNECTIVITY } switch (type.Name) { @@ -165,8 +178,28 @@ namespace Introspection { break; case "PHLivePhoto": if (protocolName == "NSItemProviderReading") - return !TestRuntime.CheckXcodeVersion (10,0); + return !TestRuntime.CheckXcodeVersion (12,0); break; +#if __MACCATALYST__ + case "BCChatButton": + case "PKAddPassButton": + case "PKPaymentButton": + case "UIButton": + case "UIControl": + case "UISegmentedControl": + case "UITextField": + case "UIDatePicker": + case "UIPageControl": + case "UIRefreshControl": + case "UISearchTextField": + case "UISlider": + case "UIStepper": + case "UISwitch": + case "ASAuthorizationAppleIdButton": + if (protocolName == "UIContextMenuInteractionDelegate") + return !TestRuntime.CheckXcodeVersion (12, 0); + break; +#endif } switch (protocolName) { @@ -700,6 +733,16 @@ namespace Introspection { // Xcode 12 beta 2 case "HKElectrocardiogram": // Conformance not in headers return true; +#if __MACCATALYST__ + // Conformance not in headers + case "EKCalendar": + case "EKCalendarItem": + case "EKEvent": + case "EKObject": + case "EKReminder": + case "EKSource": + return true; +#endif } break; case "NSMutableCopying": @@ -715,6 +758,20 @@ namespace Introspection { // iOS 13 beta 1 (to be reviewed) case "UIKeyCommand": return true; +#if __MACCATALYST__ + // Conformance not in headers + case "EKAlarm": + case "EKCalendar": + case "EKCalendarItem": + case "EKEvent": + case "EKObject": + case "EKParticipant": + case "EKRecurrenceRule": + case "EKReminder": + case "EKSource": + case "EKStructuredLocation": + return true; +#endif } break; case "UIAccessibilityIdentification": diff --git a/tests/introspection/iOS/iOSApiSelectorTest.cs b/tests/introspection/iOS/iOSApiSelectorTest.cs index 6f197816ab..cb0deacb98 100644 --- a/tests/introspection/iOS/iOSApiSelectorTest.cs +++ b/tests/introspection/iOS/iOSApiSelectorTest.cs @@ -13,7 +13,7 @@ using System.Reflection; using Foundation; using ObjCRuntime; using UIKit; -#if !__TVOS__ +#if HAS_WATCHCONNECTIVITY using WatchConnectivity; #endif using NUnit.Framework; @@ -71,13 +71,13 @@ namespace Introspection { // if (Runtime.Arch == Arch.DEVICE) // return true; // break; -#if !__TVOS__ +#if HAS_WATCHCONNECTIVITY case "WatchConnectivity": case "MonoTouch.WatchConnectivity": if (!WCSession.IsSupported) return true; break; -#endif // !__TVOS__ +#endif // HAS_WATCHCONNECTIVITY } switch (type.Name) { @@ -265,14 +265,14 @@ namespace Introspection { case "shouldUpdateFocusInContext:": case "updateFocusIfNeeded": case "canBecomeFocused": -#if !__TVOS__ +#if !__TVOS__ && !__MACCATALYST__ case "preferredFocusedView": #endif int major = declaredType.Name == "SKNode" ? 8 : 9; if (!TestRuntime.CheckXcodeVersion (major, 0)) return true; break; -#if __TVOS__ +#if __TVOS__ || __MACCATALYST__ case "preferredFocusedView": return true; #endif @@ -351,7 +351,7 @@ namespace Introspection { break; } break; -#if __TVOS__ +#if __TVOS__ || __MACCATALYST__ // broken with Xcode 12 beta 1 case "CKDiscoveredUserInfo": switch (name) { diff --git a/tests/introspection/iOS/introspection-ios.csproj b/tests/introspection/iOS/introspection-ios.csproj index 3fd5ad34e3..9866c1b540 100644 --- a/tests/introspection/iOS/introspection-ios.csproj +++ b/tests/introspection/iOS/introspection-ios.csproj @@ -142,6 +142,12 @@ ARMv7, ARM64 MONOTOUCH;MONO_NATIVE_COMPAT;MONO_NATIVE_STATIC;$(DefineConstants) + + $(RootTestsDirectory)\..\src\build\ios-defines.rsp + $(RootTestsDirectory)\..\src\build\tvos-defines.rsp + $(RootTestsDirectory)\..\src\build\watchos-defines.rsp + $(RootTestsDirectory)\..\src\build\maccatalyst-defines.rsp + diff --git a/tests/xharness/Harness.cs b/tests/xharness/Harness.cs index 4670fb97a0..5a8e5cb5e4 100644 --- a/tests/xharness/Harness.cs +++ b/tests/xharness/Harness.cs @@ -409,7 +409,7 @@ namespace Xharness { IOSTestProjects.Add (new iOSTestProject (Path.GetFullPath (Path.Combine (RootDirectory, "interdependent-binding-projects", "interdependent-binding-projects.csproj"))) { Name = "interdependent-binding-projects" }); IOSTestProjects.Add (new iOSTestProject (Path.GetFullPath (Path.Combine (RootDirectory, "interdependent-binding-projects", "dotnet", "iOS", "interdependent-binding-projects.csproj"))) { Name = "interdependent-binding-projects", IsDotNetProject = true, SkipiOSVariation = false, SkiptvOSVariation = true, SkipwatchOSVariation = true, SkipTodayExtensionVariation = true, SkipDeviceVariations = false, SkipiOS32Variation = true, }); - IOSTestProjects.Add (new iOSTestProject (Path.GetFullPath (Path.Combine (RootDirectory, "introspection", "iOS", "introspection-ios.csproj"))) { Name = "introspection" }); + IOSTestProjects.Add (new iOSTestProject (Path.GetFullPath (Path.Combine (RootDirectory, "introspection", "iOS", "introspection-ios.csproj"))) { Name = "introspection", IgnoreMacCatalystVariation = false }); IOSTestProjects.Add (new iOSTestProject (Path.GetFullPath (Path.Combine (RootDirectory, "introspection", "dotnet", "iOS", "introspection.csproj"))) { Name = "introspection", IsDotNetProject = true, SkipiOSVariation = false, SkiptvOSVariation = true, SkipwatchOSVariation = true, SkipTodayExtensionVariation = true, SkipDeviceVariations = false, SkipiOS32Variation = true, }); IOSTestProjects.Add (new iOSTestProject (Path.GetFullPath (Path.Combine (RootDirectory, "introspection", "dotnet", "tvOS", "introspection.csproj"))) { Name = "introspection", IsDotNetProject = true, SkipiOSVariation = true, SkiptvOSVariation = true, SkipwatchOSVariation = true, SkipTodayExtensionVariation = true, SkipDeviceVariations = false, SkipiOS32Variation = true, GenerateVariations = false, TestPlatform = TestPlatform.tvOS, }); IOSTestProjects.Add (new iOSTestProject (Path.GetFullPath (Path.Combine (RootDirectory, "monotouch-test", "dotnet", "iOS", "monotouch-test.csproj"))) { Name = "monotouch-test", IsDotNetProject = true, SkipiOSVariation = false, SkiptvOSVariation = true, SkipwatchOSVariation = true, SkipTodayExtensionVariation = true, SkipDeviceVariations = false, SkipiOS32Variation = true, IgnoreMacCatalystVariation = true }); diff --git a/tests/xtro-sharpie/MacCatalyst-AVFoundation.ignore b/tests/xtro-sharpie/MacCatalyst-AVFoundation.ignore index dbcaa1f043..f8bdcbf961 100644 --- a/tests/xtro-sharpie/MacCatalyst-AVFoundation.ignore +++ b/tests/xtro-sharpie/MacCatalyst-AVFoundation.ignore @@ -1,2 +1,4 @@ +# deprecated in iOS 10, does not respond to selector (intro) +!missing-selector! AVAssetDownloadTask::destinationURL not bound ## Unavailable !missing-field! AVCaptureSessionPresetiFrame960x540 not bound diff --git a/tests/xtro-sharpie/MacCatalyst-CoreData.ignore b/tests/xtro-sharpie/MacCatalyst-CoreData.ignore new file mode 100644 index 0000000000..853810a59a --- /dev/null +++ b/tests/xtro-sharpie/MacCatalyst-CoreData.ignore @@ -0,0 +1,2 @@ +# NSInternalInconsistencyException Reason: -init results in undefined behavior for NSBatchInsertRequest +!missing-selector! NSBatchInsertRequest::init not bound diff --git a/tests/xtro-sharpie/MacCatalyst-CoreVideo.ignore b/tests/xtro-sharpie/MacCatalyst-CoreVideo.ignore new file mode 100644 index 0000000000..562087150e --- /dev/null +++ b/tests/xtro-sharpie/MacCatalyst-CoreVideo.ignore @@ -0,0 +1,2 @@ +!missing-field! kCVPixelBufferOpenGLESCompatibilityKey not bound +!missing-field! kCVPixelBufferOpenGLESTextureCacheCompatibilityKey not bound diff --git a/tests/xtro-sharpie/MacCatalyst-ExternalAccessory.ignore b/tests/xtro-sharpie/MacCatalyst-ExternalAccessory.ignore new file mode 100644 index 0000000000..5c7475e778 --- /dev/null +++ b/tests/xtro-sharpie/MacCatalyst-ExternalAccessory.ignore @@ -0,0 +1,3 @@ +## web docs On Apple silicon, this method displays an alert to let the user know that the Bluetooth accessory picker is unavailable. +## since the base description is for iOS (and the API is not available on macOS) it's not clear what happens on Intel macOS ?!? +!missing-selector! EAAccessoryManager::showBluetoothAccessoryPickerWithNameFilter:completion: not bound \ No newline at end of file diff --git a/tests/xtro-sharpie/MacCatalyst-GameKit.ignore b/tests/xtro-sharpie/MacCatalyst-GameKit.ignore index a63f558b9c..1963397228 100644 --- a/tests/xtro-sharpie/MacCatalyst-GameKit.ignore +++ b/tests/xtro-sharpie/MacCatalyst-GameKit.ignore @@ -1,3 +1,19 @@ +# deprecated types - not working at runtime +!missing-protocol! GKAchievementViewControllerDelegate not bound +!missing-protocol! GKLeaderboardViewControllerDelegate not bound +!missing-selector! GKAchievementViewController::achievementDelegate not bound +!missing-selector! GKAchievementViewController::setAchievementDelegate: not bound +!missing-selector! GKLeaderboardViewControllerGKLeaderboardViewController::category not bound +!missing-selector! GKLeaderboardViewControllerGKLeaderboardViewController::leaderboardDelegate not bound +!missing-selector! GKLeaderboardViewControllerGKLeaderboardViewController::setCategory: not bound +!missing-selector! GKLeaderboardViewControllerGKLeaderboardViewController::setLeaderboardDelegate: not bound +!missing-selector! GKLeaderboardViewControllerGKLeaderboardViewController::setTimeScope: not bound +!missing-selector! GKLeaderboardViewControllerGKLeaderboardViewController::timeScope not bound +!missing-type! GKAchievementViewController not bound +!missing-type! GKLeaderboardViewController not bound + +# This selector does not exist (respond?) in macOS either +!missing-selector! GKLeaderboardSet::loadImageWithCompletionHandler: not bound # Unavailable in Cat and already deprecated anyways !missing-protocol! GKFriendRequestComposeViewControllerDelegate not bound !missing-selector! GKFriendRequestComposeViewController+GKFriendRequestComposeViewController::maxNumberOfRecipients not bound diff --git a/tests/xtro-sharpie/MacCatalyst-MediaPlayer.ignore b/tests/xtro-sharpie/MacCatalyst-MediaPlayer.ignore new file mode 100644 index 0000000000..bcb9cb177b --- /dev/null +++ b/tests/xtro-sharpie/MacCatalyst-MediaPlayer.ignore @@ -0,0 +1,3 @@ +# documentation mention it's macOS specific (might not have been updated for Catalyst or, more likely, does not apply like iOS) +!missing-selector! MPNowPlayingInfoCenter::playbackState not bound +!missing-selector! MPNowPlayingInfoCenter::setPlaybackState: not bound diff --git a/tests/xtro-sharpie/MacCatalyst-PassKit.ignore b/tests/xtro-sharpie/MacCatalyst-PassKit.ignore new file mode 100644 index 0000000000..d32f49e6c5 --- /dev/null +++ b/tests/xtro-sharpie/MacCatalyst-PassKit.ignore @@ -0,0 +1,12 @@ +## fails in introspection tests +!missing-selector! PKPass::icon not bound + +## keep @optional like iOS to ease code sharing +!incorrect-protocol-member! PKPaymentAuthorizationControllerDelegate::presentationWindowForPaymentAuthorizationController: is REQUIRED and should be abstract + +## type won't load, no documentation about its usage +!missing-selector! PKIssuerProvisioningExtensionHandler::generateAddPaymentPassRequestForPassEntryWithIdentifier:configuration:certificateChain:nonce:nonceSignature:completionHandler: not bound +!missing-selector! PKIssuerProvisioningExtensionHandler::passEntriesWithCompletion: not bound +!missing-selector! PKIssuerProvisioningExtensionHandler::remotePassEntriesWithCompletion: not bound +!missing-selector! PKIssuerProvisioningExtensionHandler::statusWithCompletion: not bound +!missing-type! PKIssuerProvisioningExtensionHandler not bound diff --git a/tests/xtro-sharpie/MacCatalyst-PassKit.todo b/tests/xtro-sharpie/MacCatalyst-PassKit.todo deleted file mode 100644 index 003d2aa58b..0000000000 --- a/tests/xtro-sharpie/MacCatalyst-PassKit.todo +++ /dev/null @@ -1 +0,0 @@ -!incorrect-protocol-member! PKPaymentAuthorizationControllerDelegate::presentationWindowForPaymentAuthorizationController: is REQUIRED and should be abstract diff --git a/tests/xtro-sharpie/MacCatalyst-PushKit.ignore b/tests/xtro-sharpie/MacCatalyst-PushKit.ignore new file mode 100644 index 0000000000..a9ddcfb84c --- /dev/null +++ b/tests/xtro-sharpie/MacCatalyst-PushKit.ignore @@ -0,0 +1,2 @@ +## fails in intro (on 10.15) and deprecated with iOS 13 -> Use directly from watchOS instead. +!missing-field! PKPushTypeComplication not bound diff --git a/tests/xtro-sharpie/MacCatalyst-StoreKit.ignore b/tests/xtro-sharpie/MacCatalyst-StoreKit.ignore new file mode 100644 index 0000000000..4cb345a08c --- /dev/null +++ b/tests/xtro-sharpie/MacCatalyst-StoreKit.ignore @@ -0,0 +1,5 @@ +## web docs In Mac apps built with Mac Catalyst, this function has no effect. +!missing-selector! SKPaymentQueue::presentCodeRedemptionSheet not bound + +## web docs In Mac apps built with Mac Catalyst, this function has no effect. +!missing-selector! SKPaymentQueue::showPriceConsentIfNeeded not bound diff --git a/tests/xtro-sharpie/MacCatalyst-UIKit.ignore b/tests/xtro-sharpie/MacCatalyst-UIKit.ignore new file mode 100644 index 0000000000..4db6718840 --- /dev/null +++ b/tests/xtro-sharpie/MacCatalyst-UIKit.ignore @@ -0,0 +1,24 @@ +# deprecated types, not working at runtime +!missing-protocol! UISearchDisplayDelegate not bound +!missing-selector! NSStringDrawingContext::minimumTrackingAdjustment not bound +!missing-selector! NSStringDrawingContext::setMinimumTrackingAdjustment: not bound +!missing-selector! UISearchDisplayController::delegate not bound +!missing-selector! UISearchDisplayController::displaysSearchBarInNavigationBar not bound +!missing-selector! UISearchDisplayController::initWithSearchBar:contentsController: not bound +!missing-selector! UISearchDisplayController::isActive not bound +!missing-selector! UISearchDisplayController::navigationItem not bound +!missing-selector! UISearchDisplayController::searchBar not bound +!missing-selector! UISearchDisplayController::searchContentsController not bound +!missing-selector! UISearchDisplayController::searchResultsDataSource not bound +!missing-selector! UISearchDisplayController::searchResultsDelegate not bound +!missing-selector! UISearchDisplayController::searchResultsTableView not bound +!missing-selector! UISearchDisplayController::searchResultsTitle not bound +!missing-selector! UISearchDisplayController::setActive: not bound +!missing-selector! UISearchDisplayController::setActive:animated: not bound +!missing-selector! UISearchDisplayController::setDelegate: not bound +!missing-selector! UISearchDisplayController::setDisplaysSearchBarInNavigationBar: not bound +!missing-selector! UISearchDisplayController::setSearchResultsDataSource: not bound +!missing-selector! UISearchDisplayController::setSearchResultsDelegate: not bound +!missing-selector! UISearchDisplayController::setSearchResultsTitle: not bound +!missing-selector! UIViewController::searchDisplayController not bound +!missing-type! UISearchDisplayController not bound diff --git a/tests/xtro-sharpie/MacCatalyst-UIKit.todo b/tests/xtro-sharpie/MacCatalyst-UIKit.todo index 2b410dc119..24e3da1e84 100644 --- a/tests/xtro-sharpie/MacCatalyst-UIKit.todo +++ b/tests/xtro-sharpie/MacCatalyst-UIKit.todo @@ -136,7 +136,6 @@ !missing-null-allowed! 'System.Boolean UIKit.UIManagedDocument::WriteAdditionalContent(Foundation.NSObject,Foundation.NSUrl,Foundation.NSUrl,Foundation.NSError&)' is missing an [NullAllowed] on parameter #2 !missing-null-allowed! 'System.Boolean UIKit.UIPrintInteractionController::PrintToPrinter(UIKit.UIPrinter,UIKit.UIPrintInteractionCompletionHandler)' is missing an [NullAllowed] on parameter #1 !missing-null-allowed! 'System.Boolean UIKit.UIScrollView::TouchesShouldBegin(Foundation.NSSet,UIKit.UIEvent,UIKit.UIView)' is missing an [NullAllowed] on parameter #1 -!missing-null-allowed! 'System.Boolean UIKit.UISearchDisplayDelegate::ShouldReloadForSearchString(UIKit.UISearchDisplayController,System.String)' is missing an [NullAllowed] on parameter #1 !missing-null-allowed! 'System.Boolean UIKit.UISplitViewControllerDelegate::EventShowDetailViewController(UIKit.UISplitViewController,UIKit.UIViewController,Foundation.NSObject)' is missing an [NullAllowed] on parameter #2 !missing-null-allowed! 'System.Boolean UIKit.UISplitViewControllerDelegate::EventShowViewController(UIKit.UISplitViewController,UIKit.UIViewController,Foundation.NSObject)' is missing an [NullAllowed] on parameter #2 !missing-null-allowed! 'System.Boolean UIKit.UITableViewDelegate::CanPerformAction(UIKit.UITableView,ObjCRuntime.Selector,Foundation.NSIndexPath,Foundation.NSObject)' is missing an [NullAllowed] on parameter #3 @@ -349,7 +348,6 @@ !missing-null-allowed! 'UIKit.UINavigationItem UIKit.UINavigationBar::get_BackItem()' is missing an [NullAllowed] on return type !missing-null-allowed! 'UIKit.UINavigationItem UIKit.UINavigationBar::get_TopItem()' is missing an [NullAllowed] on return type !missing-null-allowed! 'UIKit.UINavigationItem UIKit.UINavigationBar::PopNavigationItem(System.Boolean)' is missing an [NullAllowed] on return type -!missing-null-allowed! 'UIKit.UINavigationItem UIKit.UISearchDisplayController::get_NavigationItem()' is missing an [NullAllowed] on return type !missing-null-allowed! 'UIKit.UIPasteboard UIKit.UIPasteboard::FromName(System.String,System.Boolean)' is missing an [NullAllowed] on return type !missing-null-allowed! 'UIKit.UIPinchGestureRecognizer UIKit.UIScrollView::get_PinchGestureRecognizer()' is missing an [NullAllowed] on return type !missing-null-allowed! 'UIKit.UIPopoverPresentationController UIKit.UIViewController::get_PopoverPresentationController()' is missing an [NullAllowed] on return type @@ -363,7 +361,6 @@ !missing-null-allowed! 'UIKit.UIResponder UIKit.UIResponder::get_NextResponder()' is missing an [NullAllowed] on return type !missing-null-allowed! 'UIKit.UIScreen UIKit.UIScreen::get_MirroredScreen()' is missing an [NullAllowed] on return type !missing-null-allowed! 'UIKit.UIScreenMode UIKit.UIScreen::get_PreferredMode()' is missing an [NullAllowed] on return type -!missing-null-allowed! 'UIKit.UISearchDisplayController UIKit.UIViewController::get_SearchDisplayController()' is missing an [NullAllowed] on return type !missing-null-allowed! 'UIKit.UISplitViewController UIKit.UIViewController::get_SplitViewController()' is missing an [NullAllowed] on return type !missing-null-allowed! 'UIKit.UIStoryboard UIKit.UIViewController::get_Storyboard()' is missing an [NullAllowed] on return type !missing-null-allowed! 'UIKit.UIStoryboardSegue UIKit.UIViewController::GetSegueForUnwinding(UIKit.UIViewController,UIKit.UIViewController,System.String)' is missing an [NullAllowed] on parameter #2