From 3760d1f7ed27cd9622e28b90c45167663a5e02d1 Mon Sep 17 00:00:00 2001 From: Rolf Bjarne Kvinge Date: Wed, 10 Jul 2024 18:11:34 +0200 Subject: [PATCH 1/8] [AccessorySetupKit] Implement Xcode 16.0 beta 1, beta 2 and beta 3 changes. Note: there were no changes in beta 2 or beta 3. --- src/accessorysetupkit.cs | 208 ++++++++++++++++++ src/build/generator-frameworks.g.cs | 3 + src/frameworks.sources | 1 + src/rsp/dotnet/ios-defines-dotnet.rsp | 1 + src/rsp/ios-defines.rsp | 1 + .../Documentation.KnownFailures.txt | 67 ++++++ tests/mtouch/RegistrarTest.cs | 1 + .../iOS-AccessorySetupKit.todo | 63 ------ tools/common/Frameworks.cs | 2 + tools/mtouch/Makefile | 2 + 10 files changed, 286 insertions(+), 63 deletions(-) create mode 100644 src/accessorysetupkit.cs delete mode 100644 tests/xtro-sharpie/api-annotations-dotnet/iOS-AccessorySetupKit.todo diff --git a/src/accessorysetupkit.cs b/src/accessorysetupkit.cs new file mode 100644 index 000000000000..11cc17f340b2 --- /dev/null +++ b/src/accessorysetupkit.cs @@ -0,0 +1,208 @@ +#if NET +using System; + +using CoreBluetooth; +using CoreFoundation; +using Foundation; +using ObjCRuntime; +using UIKit; + +namespace AccessorySetupKit { + [Native] + [iOS (18, 0)] + public enum ASAccessoryState : long { + Unauthorized = 0, + AwaitingAuthorization = 10, + Authorized = 20, + } + + [Flags] + [Native] + [iOS (18, 0)] + public enum ASAccessoryRenameOptions : ulong { + Ssid = 1U << 0, + } + + [Flags] + [Native] + [iOS (18, 0)] + public enum ASAccessorySupportOptions : ulong { + BluetoothPairingLE = 1U << 1, + BluetoothTransportBridging = 1U << 2, + } + + [BaseType (typeof (NSObject))] + [iOS (18, 0)] + [DisableDefaultCtor] + interface ASAccessory { + [Export ("state", ArgumentSemantic.Assign)] + ASAccessoryState State { get; } + + [Export ("bluetoothIdentifier", ArgumentSemantic.Copy), NullAllowed] + NSUuid BluetoothIdentifier { get; } + + [Export ("displayName", ArgumentSemantic.Copy)] + string DisplayName { get; } + + [Export ("SSID", ArgumentSemantic.Copy), NullAllowed] + string Ssid { get; } + + [Export ("descriptor", ArgumentSemantic.Copy)] + ASDiscoveryDescriptor Descriptor { get; } + } + + [Native] + [iOS (18, 0)] + public enum ASAccessoryEventType : long { + Unknown = 0, + Activated = 10, + Invalidated = 11, + MigrationComplete = 20, + AccessoryAdded = 30, + AccessoryRemoved = 31, + AccessoryChanged = 32, + PickerDidPresent = 42, + PickerDidDismiss = 45, + } + + [BaseType (typeof (NSObject))] + [iOS (18, 0)] + [DisableDefaultCtor] + interface ASAccessoryEvent { + [Export ("eventType", ArgumentSemantic.Assign)] + ASAccessoryEventType EventType { get; } + + [Export ("accessory", ArgumentSemantic.Copy), NullAllowed] + ASAccessory Accessory { get; } + + [Export ("error", ArgumentSemantic.Copy), NullAllowed] + NSError Error { get; } + } + + delegate void ASAccessorySessionCompletionHandler ([NullAllowed] NSError error); + + [BaseType (typeof (NSObject))] + [iOS (18, 0)] + [DisableDefaultCtor] + interface ASAccessorySession { + [Export ("accessories", ArgumentSemantic.Copy)] + ASAccessory [] Accessories { get; } + + [Export ("activateWithQueue:eventHandler:")] + void Activate (DispatchQueue queue, Action eventHandler); + + [Export ("invalidate")] + void Invalidate (); + + [Export ("showPickerWithCompletionHandler:")] + void ShowPicker (ASAccessorySessionCompletionHandler completionHandler); + + [Export ("showPickerForDisplayItems:completionHandler:")] + void ShowPicker (ASPickerDisplayItem [] displayItems, ASAccessorySessionCompletionHandler completionHandler); + + [Export ("finishAuthorization:settings:completionHandler:")] + void FinishAuthorization (ASAccessory accessory, ASAccessorySettings settings, ASAccessorySessionCompletionHandler completionHandler); + + [Export ("removeAccessory:completionHandler:")] + void RemoveAccessory (ASAccessory accessory, ASAccessorySessionCompletionHandler completionHandler); + + [Export ("renameAccessory:options:completionHandler:")] + void RenameAccessory (ASAccessory accessory, ASAccessoryRenameOptions renameOptions, ASAccessorySessionCompletionHandler completionHandler); + } + + [BaseType (typeof (NSObject))] + [iOS (18, 0)] + [DisableDefaultCtor] + interface ASAccessorySettings { + [Export ("SSID", ArgumentSemantic.Copy), NullAllowed] + string Ssid { get; set; } + } + + [BaseType (typeof (NSObject))] + [iOS (18, 0)] + [DisableDefaultCtor] + interface ASDiscoveryDescriptor { + [Export ("supportedOptions", ArgumentSemantic.Assign)] + ASAccessorySupportOptions SupportedOptions { get; set; } + + [Export ("bluetoothCompanyIdentifier", ArgumentSemantic.Assign)] + ushort /* ASBluetoothCompanyIdentifier */ BluetoothCompanyIdentifier { get; set; } + + [Export ("bluetoothManufacturerDataBlob", ArgumentSemantic.Copy), NullAllowed] + NSData BluetoothManufacturerDataBlob { get; set; } + + [Export ("bluetoothManufacturerDataMask", ArgumentSemantic.Copy), NullAllowed] + NSData BluetoothManufacturerDataMask { get; set; } + + [Export ("bluetoothNameSubstring", ArgumentSemantic.Copy), NullAllowed] + string BluetoothNameSubstring { get; set; } + + [Export ("bluetoothServiceDataBlob", ArgumentSemantic.Copy), NullAllowed] + NSData BluetoothServiceDataBlob { get; set; } + + [Export ("bluetoothServiceDataMask", ArgumentSemantic.Copy), NullAllowed] + NSData BluetoothServiceDataMask { get; set; } + + [Export ("bluetoothServiceUUID", ArgumentSemantic.Copy), NullAllowed] + CBUUID BluetoothServiceUuid { get; set; } + [Export ("SSID", ArgumentSemantic.Copy), NullAllowed] + string Ssid { get; set; } + + [Export ("SSIDPrefix", ArgumentSemantic.Copy), NullAllowed] + string SsidPrefix { get; set; } + } + + [Native] + [iOS (18, 0)] + [ErrorDomain ("ASErrorDomain")] + enum ASErrorCode : long { + Success = 0, + Unknown = 1, + ActivationFailed = 100, + DiscoveryTimeout = 200, + ExtensionNotFound = 300, + Invalidated = 400, + PickerAlreadyActive = 500, + PickerRestricted = 550, + UserCancelled = 700, + UserRestricted = 750, + } + + [BaseType (typeof (NSObject))] + [iOS (18, 0)] + [DisableDefaultCtor] + interface ASPickerDisplayItem { + [Export ("allowsRename", ArgumentSemantic.Assign)] + bool AllowsRename { get; set; } + + [Export ("renameOptions", ArgumentSemantic.Assign)] + ASAccessoryRenameOptions RenameOptions { get; set; } + + [Export ("name", ArgumentSemantic.Copy)] + NSString Name { get; set; } + + [Export ("productImage", ArgumentSemantic.Copy)] + UIImage ProductImage { get; set; } + + [Export ("descriptor", ArgumentSemantic.Copy)] + ASDiscoveryDescriptor Descriptor { get; set; } + + [Export ("initWithName:productImage:descriptor:")] + [DesignatedInitializer] + NativeHandle Constructor (string name, UIImage productImage, ASDiscoveryDescriptor descriptor); + } + + [BaseType (typeof (ASPickerDisplayItem))] + [iOS (18, 0)] + [DisableDefaultCtor] + interface ASMigrationDisplayItem { + [Export ("peripheralIdentifier", ArgumentSemantic.Copy), NullAllowed] + NSUuid PeripheralIdentifier { get; set; } + + [Export ("hotspotSSID", ArgumentSemantic.Copy), NullAllowed] + string HotspotSsid { get; set; } + + } +} + +#endif // !NET diff --git a/src/build/generator-frameworks.g.cs b/src/build/generator-frameworks.g.cs index 0d1c687ac53b..1a4b1cc46222 100644 --- a/src/build/generator-frameworks.g.cs +++ b/src/build/generator-frameworks.g.cs @@ -5,6 +5,7 @@ partial class Frameworks { internal readonly HashSet iosframeworks = new HashSet { "Accelerate", "Accessibility", + "AccessorySetupKit", "Accounts", "AddressBook", "AddressBookUI", @@ -561,6 +562,7 @@ partial class Frameworks { }; bool? _Accelerate; bool? _Accessibility; + bool? _AccessorySetupKit; bool? _Accounts; bool? _AddressBook; bool? _AddressBookUI; @@ -731,6 +733,7 @@ partial class Frameworks { bool? _XKit; public bool HaveAccelerate { get { if (!_Accelerate.HasValue) _Accelerate = GetValue ("Accelerate"); return _Accelerate.Value; } } public bool HaveAccessibility { get { if (!_Accessibility.HasValue) _Accessibility = GetValue ("Accessibility"); return _Accessibility.Value; } } + public bool HaveAccessorySetupKit { get { if (!_AccessorySetupKit.HasValue) _AccessorySetupKit = GetValue ("AccessorySetupKit"); return _AccessorySetupKit.Value; } } public bool HaveAccounts { get { if (!_Accounts.HasValue) _Accounts = GetValue ("Accounts"); return _Accounts.Value; } } public bool HaveAddressBook { get { if (!_AddressBook.HasValue) _AddressBook = GetValue ("AddressBook"); return _AddressBook.Value; } } public bool HaveAddressBookUI { get { if (!_AddressBookUI.HasValue) _AddressBookUI = GetValue ("AddressBookUI"); return _AddressBookUI.Value; } } diff --git a/src/frameworks.sources b/src/frameworks.sources index 1aabd8437b2e..c09008319a81 100644 --- a/src/frameworks.sources +++ b/src/frameworks.sources @@ -2195,6 +2195,7 @@ IOS_FRAMEWORKS = \ AVKit \ AVRouting \ Accounts \ + AccessorySetupKit \ AdServices \ AdSupport \ AddressBook \ diff --git a/src/rsp/dotnet/ios-defines-dotnet.rsp b/src/rsp/dotnet/ios-defines-dotnet.rsp index 5d9e36b49f7d..09a466f58490 100644 --- a/src/rsp/dotnet/ios-defines-dotnet.rsp +++ b/src/rsp/dotnet/ios-defines-dotnet.rsp @@ -1,5 +1,6 @@ -d:HAS_ACCELERATE -d:HAS_ACCESSIBILITY +-d:HAS_ACCESSORYSETUPKIT -d:HAS_ACCOUNTS -d:HAS_ADDRESSBOOK -d:HAS_ADDRESSBOOKUI diff --git a/src/rsp/ios-defines.rsp b/src/rsp/ios-defines.rsp index 915fc136e296..ffcd3a042ac4 100644 --- a/src/rsp/ios-defines.rsp +++ b/src/rsp/ios-defines.rsp @@ -1,5 +1,6 @@ -d:HAS_ACCELERATE -d:HAS_ACCESSIBILITY +-d:HAS_ACCESSORYSETUPKIT -d:HAS_ACCOUNTS -d:HAS_ADDRESSBOOK -d:HAS_ADDRESSBOOKUI diff --git a/tests/cecil-tests/Documentation.KnownFailures.txt b/tests/cecil-tests/Documentation.KnownFailures.txt index af9bc49c35a3..46e6f6767286 100644 --- a/tests/cecil-tests/Documentation.KnownFailures.txt +++ b/tests/cecil-tests/Documentation.KnownFailures.txt @@ -712,6 +712,31 @@ F:Accessibility.AXHearingDeviceEar.Right F:Accessibility.AXNumericDataAxisDescriptorScale.Linear F:Accessibility.AXNumericDataAxisDescriptorScale.Ln F:Accessibility.AXNumericDataAxisDescriptorScale.Log10 +F:AccessorySetupKit.ASAccessoryEventType.AccessoryAdded +F:AccessorySetupKit.ASAccessoryEventType.AccessoryChanged +F:AccessorySetupKit.ASAccessoryEventType.AccessoryRemoved +F:AccessorySetupKit.ASAccessoryEventType.Activated +F:AccessorySetupKit.ASAccessoryEventType.Invalidated +F:AccessorySetupKit.ASAccessoryEventType.MigrationComplete +F:AccessorySetupKit.ASAccessoryEventType.PickerDidDismiss +F:AccessorySetupKit.ASAccessoryEventType.PickerDidPresent +F:AccessorySetupKit.ASAccessoryEventType.Unknown +F:AccessorySetupKit.ASAccessoryRenameOptions.Ssid +F:AccessorySetupKit.ASAccessoryState.Authorized +F:AccessorySetupKit.ASAccessoryState.AwaitingAuthorization +F:AccessorySetupKit.ASAccessoryState.Unauthorized +F:AccessorySetupKit.ASAccessorySupportOptions.BluetoothPairingLE +F:AccessorySetupKit.ASAccessorySupportOptions.BluetoothTransportBridging +F:AccessorySetupKit.ASErrorCode.ActivationFailed +F:AccessorySetupKit.ASErrorCode.DiscoveryTimeout +F:AccessorySetupKit.ASErrorCode.ExtensionNotFound +F:AccessorySetupKit.ASErrorCode.Invalidated +F:AccessorySetupKit.ASErrorCode.PickerAlreadyActive +F:AccessorySetupKit.ASErrorCode.PickerRestricted +F:AccessorySetupKit.ASErrorCode.Success +F:AccessorySetupKit.ASErrorCode.Unknown +F:AccessorySetupKit.ASErrorCode.UserCancelled +F:AccessorySetupKit.ASErrorCode.UserRestricted F:Accounts.ACAccountCredentialRenewResult.Failed F:Accounts.ACAccountCredentialRenewResult.Rejected F:Accounts.ACAccountCredentialRenewResult.Renewed @@ -15523,6 +15548,7 @@ F:ObjCRuntime.Class.ThrowOnInitFailure F:ObjCRuntime.Constants.AccelerateImageLibrary F:ObjCRuntime.Constants.AccelerateLibrary F:ObjCRuntime.Constants.AccessibilityLibrary +F:ObjCRuntime.Constants.AccessorySetupKitLibrary F:ObjCRuntime.Constants.AccountsLibrary F:ObjCRuntime.Constants.AddressBookLibrary F:ObjCRuntime.Constants.AddressBookUILibrary @@ -20908,6 +20934,14 @@ M:Accessibility.AXNumericDataAxisDescriptor.#ctor(Foundation.NSAttributedString, M:Accessibility.AXNumericDataAxisDescriptor.#ctor(System.String,System.Double,System.Double,Foundation.NSNumber[],System.Func{System.Double,Foundation.NSString}) M:Accessibility.AXNumericDataAxisDescriptor.Copy(Foundation.NSZone) M:Accessibility.AXPrefers.HorizontalTextEnabled +M:AccessorySetupKit.ASAccessorySession.Activate(CoreFoundation.DispatchQueue,System.Action{AccessorySetupKit.ASAccessoryEvent}) +M:AccessorySetupKit.ASAccessorySession.FinishAuthorization(AccessorySetupKit.ASAccessory,AccessorySetupKit.ASAccessorySettings,AccessorySetupKit.ASAccessorySessionCompletionHandler) +M:AccessorySetupKit.ASAccessorySession.Invalidate +M:AccessorySetupKit.ASAccessorySession.RemoveAccessory(AccessorySetupKit.ASAccessory,AccessorySetupKit.ASAccessorySessionCompletionHandler) +M:AccessorySetupKit.ASAccessorySession.RenameAccessory(AccessorySetupKit.ASAccessory,AccessorySetupKit.ASAccessoryRenameOptions,AccessorySetupKit.ASAccessorySessionCompletionHandler) +M:AccessorySetupKit.ASAccessorySession.ShowPicker(AccessorySetupKit.ASAccessorySessionCompletionHandler) +M:AccessorySetupKit.ASAccessorySession.ShowPicker(AccessorySetupKit.ASPickerDisplayItem[],AccessorySetupKit.ASAccessorySessionCompletionHandler) +M:AccessorySetupKit.ASPickerDisplayItem.#ctor(System.String,UIKit.UIImage,AccessorySetupKit.ASDiscoveryDescriptor) M:Accounts.ACAccount.#ctor(Accounts.ACAccountType) M:Accounts.ACAccount.EncodeTo(Foundation.NSCoder) M:Accounts.ACAccountCredential.#ctor(System.String,System.String,Foundation.NSDate) @@ -51721,6 +51755,33 @@ P:Accessibility.IAXCustomContentProvider.AccessibilityCustomContent P:Accessibility.IAXCustomContentProvider.AccessibilityCustomContentHandler P:Accessibility.IAXDataAxisDescriptor.AttributedTitle P:Accessibility.IAXDataAxisDescriptor.Title +P:AccessorySetupKit.ASAccessory.BluetoothIdentifier +P:AccessorySetupKit.ASAccessory.Descriptor +P:AccessorySetupKit.ASAccessory.DisplayName +P:AccessorySetupKit.ASAccessory.Ssid +P:AccessorySetupKit.ASAccessory.State +P:AccessorySetupKit.ASAccessoryEvent.Accessory +P:AccessorySetupKit.ASAccessoryEvent.Error +P:AccessorySetupKit.ASAccessoryEvent.EventType +P:AccessorySetupKit.ASAccessorySession.Accessories +P:AccessorySetupKit.ASAccessorySettings.Ssid +P:AccessorySetupKit.ASDiscoveryDescriptor.BluetoothCompanyIdentifier +P:AccessorySetupKit.ASDiscoveryDescriptor.BluetoothManufacturerDataBlob +P:AccessorySetupKit.ASDiscoveryDescriptor.BluetoothManufacturerDataMask +P:AccessorySetupKit.ASDiscoveryDescriptor.BluetoothNameSubstring +P:AccessorySetupKit.ASDiscoveryDescriptor.BluetoothServiceDataBlob +P:AccessorySetupKit.ASDiscoveryDescriptor.BluetoothServiceDataMask +P:AccessorySetupKit.ASDiscoveryDescriptor.BluetoothServiceUuid +P:AccessorySetupKit.ASDiscoveryDescriptor.Ssid +P:AccessorySetupKit.ASDiscoveryDescriptor.SsidPrefix +P:AccessorySetupKit.ASDiscoveryDescriptor.SupportedOptions +P:AccessorySetupKit.ASMigrationDisplayItem.HotspotSsid +P:AccessorySetupKit.ASMigrationDisplayItem.PeripheralIdentifier +P:AccessorySetupKit.ASPickerDisplayItem.AllowsRename +P:AccessorySetupKit.ASPickerDisplayItem.Descriptor +P:AccessorySetupKit.ASPickerDisplayItem.Name +P:AccessorySetupKit.ASPickerDisplayItem.ProductImage +P:AccessorySetupKit.ASPickerDisplayItem.RenameOptions P:Accounts.ACAccount.AccountDescription P:Accounts.ACAccount.AccountType P:Accounts.ACAccount.Credential @@ -76307,6 +76368,12 @@ T:Accessibility.IAXChart T:Accessibility.IAXCustomContentProvider T:Accessibility.IAXDataAxisDescriptor T:Accessibility.ValueDescriptionProviderHandler +T:AccessorySetupKit.ASAccessoryEventType +T:AccessorySetupKit.ASAccessoryRenameOptions +T:AccessorySetupKit.ASAccessorySessionCompletionHandler +T:AccessorySetupKit.ASAccessoryState +T:AccessorySetupKit.ASAccessorySupportOptions +T:AccessorySetupKit.ASErrorCode T:Accounts.AccountStoreOptions T:Accounts.ACFacebookAudience T:Accounts.ACLinkedInKey diff --git a/tests/mtouch/RegistrarTest.cs b/tests/mtouch/RegistrarTest.cs index a642895c3a1b..5adb8b6c90f2 100644 --- a/tests/mtouch/RegistrarTest.cs +++ b/tests/mtouch/RegistrarTest.cs @@ -357,6 +357,7 @@ public void MT4134 () new { Framework = "Cinematic", Version = "17.0" }, new { Framework = "Symbols", Version = "17.0" }, new { Framework = "SensitiveContentAnalysis", Version = "17.0" }, + new { Framework = "AccessorySetupKit", Version = "18.0" }, }; foreach (var framework in invalidFrameworks) mtouch.AssertError (4134, $"Your application is using the '{framework.Framework}' framework, which isn't included in the iOS SDK you're using to build your app (this framework was introduced in iOS {framework.Version}, while you're building with the iOS {mtouch.Sdk} SDK.) Please select a newer SDK in your app's iOS Build options."); diff --git a/tests/xtro-sharpie/api-annotations-dotnet/iOS-AccessorySetupKit.todo b/tests/xtro-sharpie/api-annotations-dotnet/iOS-AccessorySetupKit.todo deleted file mode 100644 index 3967f6d3b529..000000000000 --- a/tests/xtro-sharpie/api-annotations-dotnet/iOS-AccessorySetupKit.todo +++ /dev/null @@ -1,63 +0,0 @@ -!missing-enum! ASAccessoryEventType not bound -!missing-enum! ASAccessoryRenameOptions not bound -!missing-enum! ASAccessoryState not bound -!missing-enum! ASAccessorySupportOptions not bound -!missing-enum! ASErrorCode not bound -!missing-field! ASErrorDomain not bound -!missing-selector! ASAccessory::bluetoothIdentifier not bound -!missing-selector! ASAccessory::descriptor not bound -!missing-selector! ASAccessory::displayName not bound -!missing-selector! ASAccessory::SSID not bound -!missing-selector! ASAccessory::state not bound -!missing-selector! ASAccessoryEvent::accessory not bound -!missing-selector! ASAccessoryEvent::error not bound -!missing-selector! ASAccessoryEvent::eventType not bound -!missing-selector! ASAccessorySession::accessories not bound -!missing-selector! ASAccessorySession::activateWithQueue:eventHandler: not bound -!missing-selector! ASAccessorySession::finishAuthorization:settings:completionHandler: not bound -!missing-selector! ASAccessorySession::invalidate not bound -!missing-selector! ASAccessorySession::removeAccessory:completionHandler: not bound -!missing-selector! ASAccessorySession::renameAccessory:options:completionHandler: not bound -!missing-selector! ASAccessorySession::showPickerForDisplayItems:completionHandler: not bound -!missing-selector! ASAccessorySession::showPickerWithCompletionHandler: not bound -!missing-selector! ASAccessorySettings::setSSID: not bound -!missing-selector! ASAccessorySettings::SSID not bound -!missing-selector! ASDiscoveryDescriptor::bluetoothCompanyIdentifier not bound -!missing-selector! ASDiscoveryDescriptor::bluetoothManufacturerDataBlob not bound -!missing-selector! ASDiscoveryDescriptor::bluetoothManufacturerDataMask not bound -!missing-selector! ASDiscoveryDescriptor::bluetoothNameSubstring not bound -!missing-selector! ASDiscoveryDescriptor::bluetoothServiceDataBlob not bound -!missing-selector! ASDiscoveryDescriptor::bluetoothServiceDataMask not bound -!missing-selector! ASDiscoveryDescriptor::bluetoothServiceUUID not bound -!missing-selector! ASDiscoveryDescriptor::setBluetoothCompanyIdentifier: not bound -!missing-selector! ASDiscoveryDescriptor::setBluetoothManufacturerDataBlob: not bound -!missing-selector! ASDiscoveryDescriptor::setBluetoothManufacturerDataMask: not bound -!missing-selector! ASDiscoveryDescriptor::setBluetoothNameSubstring: not bound -!missing-selector! ASDiscoveryDescriptor::setBluetoothServiceDataBlob: not bound -!missing-selector! ASDiscoveryDescriptor::setBluetoothServiceDataMask: not bound -!missing-selector! ASDiscoveryDescriptor::setBluetoothServiceUUID: not bound -!missing-selector! ASDiscoveryDescriptor::setSSID: not bound -!missing-selector! ASDiscoveryDescriptor::setSSIDPrefix: not bound -!missing-selector! ASDiscoveryDescriptor::setSupportedOptions: not bound -!missing-selector! ASDiscoveryDescriptor::SSID not bound -!missing-selector! ASDiscoveryDescriptor::SSIDPrefix not bound -!missing-selector! ASDiscoveryDescriptor::supportedOptions not bound -!missing-selector! ASMigrationDisplayItem::hotspotSSID not bound -!missing-selector! ASMigrationDisplayItem::peripheralIdentifier not bound -!missing-selector! ASMigrationDisplayItem::setHotspotSSID: not bound -!missing-selector! ASMigrationDisplayItem::setPeripheralIdentifier: not bound -!missing-selector! ASPickerDisplayItem::allowsRename not bound -!missing-selector! ASPickerDisplayItem::descriptor not bound -!missing-selector! ASPickerDisplayItem::initWithName:productImage:descriptor: not bound -!missing-selector! ASPickerDisplayItem::name not bound -!missing-selector! ASPickerDisplayItem::productImage not bound -!missing-selector! ASPickerDisplayItem::renameOptions not bound -!missing-selector! ASPickerDisplayItem::setAllowsRename: not bound -!missing-selector! ASPickerDisplayItem::setRenameOptions: not bound -!missing-type! ASAccessory not bound -!missing-type! ASAccessoryEvent not bound -!missing-type! ASAccessorySession not bound -!missing-type! ASAccessorySettings not bound -!missing-type! ASDiscoveryDescriptor not bound -!missing-type! ASMigrationDisplayItem not bound -!missing-type! ASPickerDisplayItem not bound diff --git a/tools/common/Frameworks.cs b/tools/common/Frameworks.cs index 037f4fe22d62..db26dd9f9afe 100644 --- a/tools/common/Frameworks.cs +++ b/tools/common/Frameworks.cs @@ -474,6 +474,8 @@ public static Frameworks CreateiOSFrameworks (bool is_simulator_build) { "Symbols", "Symbols", 17, 0 }, { "SensitiveContentAnalysis", "SensitiveContentAnalysis", 17, 0 }, + { "AccessorySetupKit", "AccessorySetupKit", 18, 0 }, + // the above MUST be kept in sync with simlauncher // see tools/mtouch/Makefile // please also keep it sorted to ease comparison diff --git a/tools/mtouch/Makefile b/tools/mtouch/Makefile index 728d199e97b6..7bb2af0b71a0 100644 --- a/tools/mtouch/Makefile +++ b/tools/mtouch/Makefile @@ -185,6 +185,8 @@ SIMLAUNCHER_FRAMEWORKS = \ \ -weak_framework Symbols \ -weak_framework SensitiveContentAnalysis \ + \ + -weak_framework AccessorySetupKit \ SIMLAUNCHER64_FRAMEWORKS = \ -framework GameKit \ From 641990f67ae1685f71f2c53517814f38ab12a058 Mon Sep 17 00:00:00 2001 From: Rolf Bjarne Kvinge Date: Thu, 11 Jul 2024 18:23:08 +0200 Subject: [PATCH 2/8] Fix according to review. --- src/accessorysetupkit.cs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/accessorysetupkit.cs b/src/accessorysetupkit.cs index 11cc17f340b2..e9e3e9ca6fa7 100644 --- a/src/accessorysetupkit.cs +++ b/src/accessorysetupkit.cs @@ -94,18 +94,23 @@ interface ASAccessorySession { [Export ("invalidate")] void Invalidate (); + [Async] [Export ("showPickerWithCompletionHandler:")] void ShowPicker (ASAccessorySessionCompletionHandler completionHandler); + [Async] [Export ("showPickerForDisplayItems:completionHandler:")] void ShowPicker (ASPickerDisplayItem [] displayItems, ASAccessorySessionCompletionHandler completionHandler); + [Async] [Export ("finishAuthorization:settings:completionHandler:")] void FinishAuthorization (ASAccessory accessory, ASAccessorySettings settings, ASAccessorySessionCompletionHandler completionHandler); + [Async] [Export ("removeAccessory:completionHandler:")] void RemoveAccessory (ASAccessory accessory, ASAccessorySessionCompletionHandler completionHandler); + [Async] [Export ("renameAccessory:options:completionHandler:")] void RenameAccessory (ASAccessory accessory, ASAccessoryRenameOptions renameOptions, ASAccessorySessionCompletionHandler completionHandler); } @@ -179,7 +184,7 @@ interface ASPickerDisplayItem { ASAccessoryRenameOptions RenameOptions { get; set; } [Export ("name", ArgumentSemantic.Copy)] - NSString Name { get; set; } + string Name { get; set; } [Export ("productImage", ArgumentSemantic.Copy)] UIImage ProductImage { get; set; } From f27d517f9506f4d171989fa125f7e589da6ca4d5 Mon Sep 17 00:00:00 2001 From: Rolf Bjarne Kvinge Date: Thu, 11 Jul 2024 21:04:15 +0200 Subject: [PATCH 3/8] Misc fixes --- src/accessorysetupkit.cs | 8 ++++++-- tests/cecil-tests/Documentation.KnownFailures.txt | 6 ++++++ tests/introspection/ApiProtocolTest.cs | 15 +++++++++++++++ 3 files changed, 27 insertions(+), 2 deletions(-) diff --git a/src/accessorysetupkit.cs b/src/accessorysetupkit.cs index e9e3e9ca6fa7..58dcf3256a6f 100644 --- a/src/accessorysetupkit.cs +++ b/src/accessorysetupkit.cs @@ -184,10 +184,10 @@ interface ASPickerDisplayItem { ASAccessoryRenameOptions RenameOptions { get; set; } [Export ("name", ArgumentSemantic.Copy)] - string Name { get; set; } + string Name { get; } [Export ("productImage", ArgumentSemantic.Copy)] - UIImage ProductImage { get; set; } + UIImage ProductImage { get; } [Export ("descriptor", ArgumentSemantic.Copy)] ASDiscoveryDescriptor Descriptor { get; set; } @@ -207,6 +207,10 @@ interface ASMigrationDisplayItem { [Export ("hotspotSSID", ArgumentSemantic.Copy), NullAllowed] string HotspotSsid { get; set; } + // re-exposed from base + [Export ("initWithName:productImage:descriptor:")] + [DesignatedInitializer] + NativeHandle Constructor (string name, UIImage productImage, ASDiscoveryDescriptor descriptor); } } diff --git a/tests/cecil-tests/Documentation.KnownFailures.txt b/tests/cecil-tests/Documentation.KnownFailures.txt index 46e6f6767286..b34f3a316097 100644 --- a/tests/cecil-tests/Documentation.KnownFailures.txt +++ b/tests/cecil-tests/Documentation.KnownFailures.txt @@ -20936,11 +20936,17 @@ M:Accessibility.AXNumericDataAxisDescriptor.Copy(Foundation.NSZone) M:Accessibility.AXPrefers.HorizontalTextEnabled M:AccessorySetupKit.ASAccessorySession.Activate(CoreFoundation.DispatchQueue,System.Action{AccessorySetupKit.ASAccessoryEvent}) M:AccessorySetupKit.ASAccessorySession.FinishAuthorization(AccessorySetupKit.ASAccessory,AccessorySetupKit.ASAccessorySettings,AccessorySetupKit.ASAccessorySessionCompletionHandler) +M:AccessorySetupKit.ASAccessorySession.FinishAuthorizationAsync(AccessorySetupKit.ASAccessory,AccessorySetupKit.ASAccessorySettings) M:AccessorySetupKit.ASAccessorySession.Invalidate M:AccessorySetupKit.ASAccessorySession.RemoveAccessory(AccessorySetupKit.ASAccessory,AccessorySetupKit.ASAccessorySessionCompletionHandler) +M:AccessorySetupKit.ASAccessorySession.RemoveAccessoryAsync(AccessorySetupKit.ASAccessory) M:AccessorySetupKit.ASAccessorySession.RenameAccessory(AccessorySetupKit.ASAccessory,AccessorySetupKit.ASAccessoryRenameOptions,AccessorySetupKit.ASAccessorySessionCompletionHandler) +M:AccessorySetupKit.ASAccessorySession.RenameAccessoryAsync(AccessorySetupKit.ASAccessory,AccessorySetupKit.ASAccessoryRenameOptions) M:AccessorySetupKit.ASAccessorySession.ShowPicker(AccessorySetupKit.ASAccessorySessionCompletionHandler) M:AccessorySetupKit.ASAccessorySession.ShowPicker(AccessorySetupKit.ASPickerDisplayItem[],AccessorySetupKit.ASAccessorySessionCompletionHandler) +M:AccessorySetupKit.ASAccessorySession.ShowPickerAsync +M:AccessorySetupKit.ASAccessorySession.ShowPickerAsync(AccessorySetupKit.ASPickerDisplayItem[]) +M:AccessorySetupKit.ASMigrationDisplayItem.#ctor(System.String,UIKit.UIImage,AccessorySetupKit.ASDiscoveryDescriptor) M:AccessorySetupKit.ASPickerDisplayItem.#ctor(System.String,UIKit.UIImage,AccessorySetupKit.ASDiscoveryDescriptor) M:Accounts.ACAccount.#ctor(Accounts.ACAccountType) M:Accounts.ACAccount.EncodeTo(Foundation.NSCoder) diff --git a/tests/introspection/ApiProtocolTest.cs b/tests/introspection/ApiProtocolTest.cs index b775a46bd385..d851e06c75bb 100644 --- a/tests/introspection/ApiProtocolTest.cs +++ b/tests/introspection/ApiProtocolTest.cs @@ -196,6 +196,11 @@ protected virtual bool Skip (Type type, string protocolName) case "TKSmartCardPinFormat": return true; // Xcode 16, conformance not in headers + case "ASAccessory": + case "ASAccessorySettings": + case "ASDiscoveryDescriptor": + case "ASMigrationDisplayItem": + case "ASPickerDisplayItem": case "PKAddCarKeyPassConfiguration": case "PKAddSecureElementPassConfiguration": case "PKAddShareablePassConfiguration": @@ -381,6 +386,11 @@ protected virtual bool Skip (Type type, string protocolName) case "TKSmartCardUserInteractionForSecurePinVerification": return true; // Xcode 16, conformance not in headers + case "ASAccessory": + case "ASAccessorySettings": + case "ASDiscoveryDescriptor": + case "ASMigrationDisplayItem": + case "ASPickerDisplayItem": case "QLFileThumbnailRequest": case "QLThumbnailReply": case "PHPickerResult": @@ -572,6 +582,11 @@ protected virtual bool Skip (Type type, string protocolName) case "TKSmartCardUserInteractionForSecurePinVerification": return true; // Xcode 16, conformance not in headers + case "ASAccessory": + case "ASAccessorySettings": + case "ASDiscoveryDescriptor": + case "ASMigrationDisplayItem": + case "ASPickerDisplayItem": case "QLFileThumbnailRequest": case "QLThumbnailReply": case "PHPickerResult": From 5a4499da53621e618db3da9da4f114e747687f55 Mon Sep 17 00:00:00 2001 From: Rolf Bjarne Kvinge Date: Mon, 12 Aug 2024 12:42:03 +0200 Subject: [PATCH 4/8] Update to beta 4 + beta 5. --- src/accessorysetupkit.cs | 67 +++++++++++++---- tests/cecil-tests/ApiAvailabilityTest.cs | 1 + .../Documentation.KnownFailures.txt | 20 ++++++ .../iOS-AccessorySetupKit.todo | 72 ------------------- 4 files changed, 76 insertions(+), 84 deletions(-) delete mode 100644 tests/xtro-sharpie/api-annotations-dotnet/iOS-AccessorySetupKit.todo diff --git a/src/accessorysetupkit.cs b/src/accessorysetupkit.cs index 58dcf3256a6f..d084fdbae250 100644 --- a/src/accessorysetupkit.cs +++ b/src/accessorysetupkit.cs @@ -31,6 +31,22 @@ public enum ASAccessorySupportOptions : ulong { BluetoothTransportBridging = 1U << 2, } + [Native] + [iOS (18, 0)] + public enum ASDiscoveryDescriptorRange : long { + Default = 0, + Immediate = 10, + } + + [Flags] + [Native] + [iOS (18, 0)] + public enum ASPickerDisplayItemSetupOptions : long { + Rename = 1 << 0, + ConfirmAuthorization = 1 << 1, + FinishInApp = 1 << 2, + } + [BaseType (typeof (NSObject))] [iOS (18, 0)] [DisableDefaultCtor] @@ -49,20 +65,27 @@ interface ASAccessory { [Export ("descriptor", ArgumentSemantic.Copy)] ASDiscoveryDescriptor Descriptor { get; } + + [Export ("bluetoothTransportBridgingIdentifier", ArgumentSemantic.Copy), NullAllowed] + NSData BluetoothTransportBridgingIdentifier { get; } } [Native] [iOS (18, 0)] public enum ASAccessoryEventType : long { - Unknown = 0, - Activated = 10, - Invalidated = 11, - MigrationComplete = 20, - AccessoryAdded = 30, - AccessoryRemoved = 31, - AccessoryChanged = 32, - PickerDidPresent = 42, - PickerDidDismiss = 45, + Unknown = 0, + Activated = 10, + Invalidated = 11, + MigrationComplete = 20, + AccessoryAdded = 30, + AccessoryRemoved = 31, + AccessoryChanged = 32, + PickerDidPresent = 40, + PickerDidDismiss = 50, + PickerSetupBridging = 60, + PickerSetupFailed = 70, + PickerSetupPairing = 80, + PickerSetupRename = 90, } [BaseType (typeof (NSObject))] @@ -113,14 +136,25 @@ interface ASAccessorySession { [Async] [Export ("renameAccessory:options:completionHandler:")] void RenameAccessory (ASAccessory accessory, ASAccessoryRenameOptions renameOptions, ASAccessorySessionCompletionHandler completionHandler); + + [Async] + [Export ("failAuthorization:completionHandler:")] + void FailAuthorization (ASAccessory accessory, ASAccessorySessionCompletionHandler completionHandler); } [BaseType (typeof (NSObject))] [iOS (18, 0)] [DisableDefaultCtor] interface ASAccessorySettings { + [Export ("defaultSettings")] + [Static] + ASAccessorySettings DefaultSettings { get; } + [Export ("SSID", ArgumentSemantic.Copy), NullAllowed] string Ssid { get; set; } + + [Export ("bluetoothTransportBridgingIdentifier", ArgumentSemantic.Copy), NullAllowed] + NSData BluetoothTransportBridgingIdentifier { get; set; } } [BaseType (typeof (NSObject))] @@ -142,6 +176,9 @@ interface ASDiscoveryDescriptor { [Export ("bluetoothNameSubstring", ArgumentSemantic.Copy), NullAllowed] string BluetoothNameSubstring { get; set; } + [Export ("bluetoothRange", ArgumentSemantic.Assign)] + ASDiscoveryDescriptorRange BluetoothRange { get; set; } + [Export ("bluetoothServiceDataBlob", ArgumentSemantic.Copy), NullAllowed] NSData BluetoothServiceDataBlob { get; set; } @@ -164,9 +201,11 @@ enum ASErrorCode : long { Success = 0, Unknown = 1, ActivationFailed = 100, + ConnectionFailed = 150, DiscoveryTimeout = 200, ExtensionNotFound = 300, Invalidated = 400, + InvalidRequest = 450, PickerAlreadyActive = 500, PickerRestricted = 550, UserCancelled = 700, @@ -177,12 +216,10 @@ enum ASErrorCode : long { [iOS (18, 0)] [DisableDefaultCtor] interface ASPickerDisplayItem { + [Deprecated (PlatformName.iOS, 18, 0, message: "Use SetupOptions' instead.")] [Export ("allowsRename", ArgumentSemantic.Assign)] bool AllowsRename { get; set; } - [Export ("renameOptions", ArgumentSemantic.Assign)] - ASAccessoryRenameOptions RenameOptions { get; set; } - [Export ("name", ArgumentSemantic.Copy)] string Name { get; } @@ -192,6 +229,12 @@ interface ASPickerDisplayItem { [Export ("descriptor", ArgumentSemantic.Copy)] ASDiscoveryDescriptor Descriptor { get; set; } + [Export ("renameOptions", ArgumentSemantic.Assign)] + ASAccessoryRenameOptions RenameOptions { get; set; } + + [Export ("setupOptions", ArgumentSemantic.Assign)] + ASPickerDisplayItemSetupOptions SetupOptions { get; set; } + [Export ("initWithName:productImage:descriptor:")] [DesignatedInitializer] NativeHandle Constructor (string name, UIImage productImage, ASDiscoveryDescriptor descriptor); diff --git a/tests/cecil-tests/ApiAvailabilityTest.cs b/tests/cecil-tests/ApiAvailabilityTest.cs index b569ba157fd5..55901ed4532f 100644 --- a/tests/cecil-tests/ApiAvailabilityTest.cs +++ b/tests/cecil-tests/ApiAvailabilityTest.cs @@ -423,6 +423,7 @@ bool SkipSupportedAndObsoleteAtTheSameTime (ICustomAttributeProvider api, AppleP case "SceneKit.SCNAnimationPlayer.PauseAnimation(Foundation.NSString)": case "SceneKit.SCNAnimationPlayer.RemoveAnimation(Foundation.NSString, System.Runtime.InteropServices.NFloat)": case "SceneKit.SCNAnimationPlayer.ResumeAnimation(Foundation.NSString)": + case "System.Boolean AccessorySetupKit.ASPickerDisplayItem::AllowsRename()": // Apple introduced and deprecated in the same version. return true; } break; diff --git a/tests/cecil-tests/Documentation.KnownFailures.txt b/tests/cecil-tests/Documentation.KnownFailures.txt index 3e1eac3bdf7f..c7514c0f74fe 100644 --- a/tests/cecil-tests/Documentation.KnownFailures.txt +++ b/tests/cecil-tests/Documentation.KnownFailures.txt @@ -720,6 +720,10 @@ F:AccessorySetupKit.ASAccessoryEventType.Invalidated F:AccessorySetupKit.ASAccessoryEventType.MigrationComplete F:AccessorySetupKit.ASAccessoryEventType.PickerDidDismiss F:AccessorySetupKit.ASAccessoryEventType.PickerDidPresent +F:AccessorySetupKit.ASAccessoryEventType.PickerSetupBridging +F:AccessorySetupKit.ASAccessoryEventType.PickerSetupFailed +F:AccessorySetupKit.ASAccessoryEventType.PickerSetupPairing +F:AccessorySetupKit.ASAccessoryEventType.PickerSetupRename F:AccessorySetupKit.ASAccessoryEventType.Unknown F:AccessorySetupKit.ASAccessoryRenameOptions.Ssid F:AccessorySetupKit.ASAccessoryState.Authorized @@ -727,16 +731,23 @@ F:AccessorySetupKit.ASAccessoryState.AwaitingAuthorization F:AccessorySetupKit.ASAccessoryState.Unauthorized F:AccessorySetupKit.ASAccessorySupportOptions.BluetoothPairingLE F:AccessorySetupKit.ASAccessorySupportOptions.BluetoothTransportBridging +F:AccessorySetupKit.ASDiscoveryDescriptorRange.Default +F:AccessorySetupKit.ASDiscoveryDescriptorRange.Immediate F:AccessorySetupKit.ASErrorCode.ActivationFailed +F:AccessorySetupKit.ASErrorCode.ConnectionFailed F:AccessorySetupKit.ASErrorCode.DiscoveryTimeout F:AccessorySetupKit.ASErrorCode.ExtensionNotFound F:AccessorySetupKit.ASErrorCode.Invalidated +F:AccessorySetupKit.ASErrorCode.InvalidRequest F:AccessorySetupKit.ASErrorCode.PickerAlreadyActive F:AccessorySetupKit.ASErrorCode.PickerRestricted F:AccessorySetupKit.ASErrorCode.Success F:AccessorySetupKit.ASErrorCode.Unknown F:AccessorySetupKit.ASErrorCode.UserCancelled F:AccessorySetupKit.ASErrorCode.UserRestricted +F:AccessorySetupKit.ASPickerDisplayItemSetupOptions.ConfirmAuthorization +F:AccessorySetupKit.ASPickerDisplayItemSetupOptions.FinishInApp +F:AccessorySetupKit.ASPickerDisplayItemSetupOptions.Rename F:Accounts.ACAccountCredentialRenewResult.Failed F:Accounts.ACAccountCredentialRenewResult.Rejected F:Accounts.ACAccountCredentialRenewResult.Renewed @@ -21102,6 +21113,8 @@ M:Accessibility.AXNumericDataAxisDescriptor.#ctor(System.String,System.Double,Sy M:Accessibility.AXNumericDataAxisDescriptor.Copy(Foundation.NSZone) M:Accessibility.AXPrefers.HorizontalTextEnabled M:AccessorySetupKit.ASAccessorySession.Activate(CoreFoundation.DispatchQueue,System.Action{AccessorySetupKit.ASAccessoryEvent}) +M:AccessorySetupKit.ASAccessorySession.FailAuthorization(AccessorySetupKit.ASAccessory,AccessorySetupKit.ASAccessorySessionCompletionHandler) +M:AccessorySetupKit.ASAccessorySession.FailAuthorizationAsync(AccessorySetupKit.ASAccessory) M:AccessorySetupKit.ASAccessorySession.FinishAuthorization(AccessorySetupKit.ASAccessory,AccessorySetupKit.ASAccessorySettings,AccessorySetupKit.ASAccessorySessionCompletionHandler) M:AccessorySetupKit.ASAccessorySession.FinishAuthorizationAsync(AccessorySetupKit.ASAccessory,AccessorySetupKit.ASAccessorySettings) M:AccessorySetupKit.ASAccessorySession.Invalidate @@ -52091,6 +52104,7 @@ P:Accessibility.IAXCustomContentProvider.AccessibilityCustomContentHandler P:Accessibility.IAXDataAxisDescriptor.AttributedTitle P:Accessibility.IAXDataAxisDescriptor.Title P:AccessorySetupKit.ASAccessory.BluetoothIdentifier +P:AccessorySetupKit.ASAccessory.BluetoothTransportBridgingIdentifier P:AccessorySetupKit.ASAccessory.Descriptor P:AccessorySetupKit.ASAccessory.DisplayName P:AccessorySetupKit.ASAccessory.Ssid @@ -52099,11 +52113,14 @@ P:AccessorySetupKit.ASAccessoryEvent.Accessory P:AccessorySetupKit.ASAccessoryEvent.Error P:AccessorySetupKit.ASAccessoryEvent.EventType P:AccessorySetupKit.ASAccessorySession.Accessories +P:AccessorySetupKit.ASAccessorySettings.BluetoothTransportBridgingIdentifier +P:AccessorySetupKit.ASAccessorySettings.DefaultSettings P:AccessorySetupKit.ASAccessorySettings.Ssid P:AccessorySetupKit.ASDiscoveryDescriptor.BluetoothCompanyIdentifier P:AccessorySetupKit.ASDiscoveryDescriptor.BluetoothManufacturerDataBlob P:AccessorySetupKit.ASDiscoveryDescriptor.BluetoothManufacturerDataMask P:AccessorySetupKit.ASDiscoveryDescriptor.BluetoothNameSubstring +P:AccessorySetupKit.ASDiscoveryDescriptor.BluetoothRange P:AccessorySetupKit.ASDiscoveryDescriptor.BluetoothServiceDataBlob P:AccessorySetupKit.ASDiscoveryDescriptor.BluetoothServiceDataMask P:AccessorySetupKit.ASDiscoveryDescriptor.BluetoothServiceUuid @@ -52117,6 +52134,7 @@ P:AccessorySetupKit.ASPickerDisplayItem.Descriptor P:AccessorySetupKit.ASPickerDisplayItem.Name P:AccessorySetupKit.ASPickerDisplayItem.ProductImage P:AccessorySetupKit.ASPickerDisplayItem.RenameOptions +P:AccessorySetupKit.ASPickerDisplayItem.SetupOptions P:Accounts.ACAccount.AccountDescription P:Accounts.ACAccount.AccountType P:Accounts.ACAccount.Credential @@ -76882,7 +76900,9 @@ T:AccessorySetupKit.ASAccessoryRenameOptions T:AccessorySetupKit.ASAccessorySessionCompletionHandler T:AccessorySetupKit.ASAccessoryState T:AccessorySetupKit.ASAccessorySupportOptions +T:AccessorySetupKit.ASDiscoveryDescriptorRange T:AccessorySetupKit.ASErrorCode +T:AccessorySetupKit.ASPickerDisplayItemSetupOptions T:Accounts.AccountStoreOptions T:Accounts.ACFacebookAudience T:Accounts.ACLinkedInKey diff --git a/tests/xtro-sharpie/api-annotations-dotnet/iOS-AccessorySetupKit.todo b/tests/xtro-sharpie/api-annotations-dotnet/iOS-AccessorySetupKit.todo deleted file mode 100644 index b41e412bcb18..000000000000 --- a/tests/xtro-sharpie/api-annotations-dotnet/iOS-AccessorySetupKit.todo +++ /dev/null @@ -1,72 +0,0 @@ -!missing-enum! ASAccessoryEventType not bound -!missing-enum! ASAccessoryRenameOptions not bound -!missing-enum! ASAccessoryState not bound -!missing-enum! ASAccessorySupportOptions not bound -!missing-enum! ASErrorCode not bound -!missing-field! ASErrorDomain not bound -!missing-selector! ASAccessory::bluetoothIdentifier not bound -!missing-selector! ASAccessory::descriptor not bound -!missing-selector! ASAccessory::displayName not bound -!missing-selector! ASAccessory::SSID not bound -!missing-selector! ASAccessory::state not bound -!missing-selector! ASAccessoryEvent::accessory not bound -!missing-selector! ASAccessoryEvent::error not bound -!missing-selector! ASAccessoryEvent::eventType not bound -!missing-selector! ASAccessorySession::accessories not bound -!missing-selector! ASAccessorySession::activateWithQueue:eventHandler: not bound -!missing-selector! ASAccessorySession::finishAuthorization:settings:completionHandler: not bound -!missing-selector! ASAccessorySession::invalidate not bound -!missing-selector! ASAccessorySession::removeAccessory:completionHandler: not bound -!missing-selector! ASAccessorySession::renameAccessory:options:completionHandler: not bound -!missing-selector! ASAccessorySession::showPickerForDisplayItems:completionHandler: not bound -!missing-selector! ASAccessorySession::showPickerWithCompletionHandler: not bound -!missing-selector! ASAccessorySettings::setSSID: not bound -!missing-selector! ASAccessorySettings::SSID not bound -!missing-selector! ASDiscoveryDescriptor::bluetoothCompanyIdentifier not bound -!missing-selector! ASDiscoveryDescriptor::bluetoothManufacturerDataBlob not bound -!missing-selector! ASDiscoveryDescriptor::bluetoothManufacturerDataMask not bound -!missing-selector! ASDiscoveryDescriptor::bluetoothNameSubstring not bound -!missing-selector! ASDiscoveryDescriptor::bluetoothServiceDataBlob not bound -!missing-selector! ASDiscoveryDescriptor::bluetoothServiceDataMask not bound -!missing-selector! ASDiscoveryDescriptor::bluetoothServiceUUID not bound -!missing-selector! ASDiscoveryDescriptor::setBluetoothCompanyIdentifier: not bound -!missing-selector! ASDiscoveryDescriptor::setBluetoothManufacturerDataBlob: not bound -!missing-selector! ASDiscoveryDescriptor::setBluetoothManufacturerDataMask: not bound -!missing-selector! ASDiscoveryDescriptor::setBluetoothNameSubstring: not bound -!missing-selector! ASDiscoveryDescriptor::setBluetoothServiceDataBlob: not bound -!missing-selector! ASDiscoveryDescriptor::setBluetoothServiceDataMask: not bound -!missing-selector! ASDiscoveryDescriptor::setBluetoothServiceUUID: not bound -!missing-selector! ASDiscoveryDescriptor::setSSID: not bound -!missing-selector! ASDiscoveryDescriptor::setSSIDPrefix: not bound -!missing-selector! ASDiscoveryDescriptor::setSupportedOptions: not bound -!missing-selector! ASDiscoveryDescriptor::SSID not bound -!missing-selector! ASDiscoveryDescriptor::SSIDPrefix not bound -!missing-selector! ASDiscoveryDescriptor::supportedOptions not bound -!missing-selector! ASMigrationDisplayItem::hotspotSSID not bound -!missing-selector! ASMigrationDisplayItem::peripheralIdentifier not bound -!missing-selector! ASMigrationDisplayItem::setHotspotSSID: not bound -!missing-selector! ASMigrationDisplayItem::setPeripheralIdentifier: not bound -!missing-selector! ASPickerDisplayItem::descriptor not bound -!missing-selector! ASPickerDisplayItem::initWithName:productImage:descriptor: not bound -!missing-selector! ASPickerDisplayItem::name not bound -!missing-selector! ASPickerDisplayItem::productImage not bound -!missing-selector! ASPickerDisplayItem::renameOptions not bound -!missing-selector! ASPickerDisplayItem::setRenameOptions: not bound -!missing-type! ASAccessory not bound -!missing-type! ASAccessoryEvent not bound -!missing-type! ASAccessorySession not bound -!missing-type! ASAccessorySettings not bound -!missing-type! ASDiscoveryDescriptor not bound -!missing-type! ASMigrationDisplayItem not bound -!missing-type! ASPickerDisplayItem not bound -!missing-enum! ASDiscoveryDescriptorRange not bound -!missing-enum! ASPickerDisplayItemSetupOptions not bound -!missing-selector! +ASAccessorySettings::defaultSettings not bound -!missing-selector! ASAccessory::bluetoothTransportBridgingIdentifier not bound -!missing-selector! ASAccessorySession::failAuthorization:completionHandler: not bound -!missing-selector! ASAccessorySettings::bluetoothTransportBridgingIdentifier not bound -!missing-selector! ASAccessorySettings::setBluetoothTransportBridgingIdentifier: not bound -!missing-selector! ASDiscoveryDescriptor::bluetoothRange not bound -!missing-selector! ASDiscoveryDescriptor::setBluetoothRange: not bound -!missing-selector! ASPickerDisplayItem::setSetupOptions: not bound -!missing-selector! ASPickerDisplayItem::setupOptions not bound From 80f9e48924e6c1bae6cbe610d34c690f71348fa9 Mon Sep 17 00:00:00 2001 From: Rolf Bjarne Kvinge Date: Tue, 13 Aug 2024 16:52:39 +0200 Subject: [PATCH 5/8] .NET only. --- tools/mtouch/Makefile | 2 -- 1 file changed, 2 deletions(-) diff --git a/tools/mtouch/Makefile b/tools/mtouch/Makefile index e9ef2b48c6a8..387b6492b2a9 100644 --- a/tools/mtouch/Makefile +++ b/tools/mtouch/Makefile @@ -184,8 +184,6 @@ SIMLAUNCHER_FRAMEWORKS = \ \ -weak_framework Symbols \ -weak_framework SensitiveContentAnalysis \ - \ - -weak_framework AccessorySetupKit \ SIMLAUNCHER64_FRAMEWORKS = \ -framework GameKit \ From 9eb4fe2f8193c57d9aa81118a1cda073848176b3 Mon Sep 17 00:00:00 2001 From: Rolf Bjarne Kvinge Date: Fri, 23 Aug 2024 12:42:26 +0200 Subject: [PATCH 6/8] Update to Xcode 16 beta 6. --- src/accessorysetupkit.cs | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/accessorysetupkit.cs b/src/accessorysetupkit.cs index d084fdbae250..17929a48eceb 100644 --- a/src/accessorysetupkit.cs +++ b/src/accessorysetupkit.cs @@ -216,10 +216,6 @@ enum ASErrorCode : long { [iOS (18, 0)] [DisableDefaultCtor] interface ASPickerDisplayItem { - [Deprecated (PlatformName.iOS, 18, 0, message: "Use SetupOptions' instead.")] - [Export ("allowsRename", ArgumentSemantic.Assign)] - bool AllowsRename { get; set; } - [Export ("name", ArgumentSemantic.Copy)] string Name { get; } From 64f695b717ceed4433d57efd662bee2381758df1 Mon Sep 17 00:00:00 2001 From: Rolf Bjarne Kvinge Date: Mon, 26 Aug 2024 13:00:33 +0200 Subject: [PATCH 7/8] Update known failures. --- tests/cecil-tests/Documentation.KnownFailures.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/cecil-tests/Documentation.KnownFailures.txt b/tests/cecil-tests/Documentation.KnownFailures.txt index 5dd17cf057c1..fe72606731e9 100644 --- a/tests/cecil-tests/Documentation.KnownFailures.txt +++ b/tests/cecil-tests/Documentation.KnownFailures.txt @@ -52319,7 +52319,6 @@ P:AccessorySetupKit.ASDiscoveryDescriptor.SsidPrefix P:AccessorySetupKit.ASDiscoveryDescriptor.SupportedOptions P:AccessorySetupKit.ASMigrationDisplayItem.HotspotSsid P:AccessorySetupKit.ASMigrationDisplayItem.PeripheralIdentifier -P:AccessorySetupKit.ASPickerDisplayItem.AllowsRename P:AccessorySetupKit.ASPickerDisplayItem.Descriptor P:AccessorySetupKit.ASPickerDisplayItem.Name P:AccessorySetupKit.ASPickerDisplayItem.ProductImage From 6e748a02acbd78e38a7c5994c00f61955cca679c Mon Sep 17 00:00:00 2001 From: Rolf Bjarne Kvinge Date: Thu, 29 Aug 2024 14:09:23 +0200 Subject: [PATCH 8/8] AccessorySetupKit is not in Mac Catalyst. --- tools/common/Frameworks.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/common/Frameworks.cs b/tools/common/Frameworks.cs index ed436ad36b83..e23da41e8b5f 100644 --- a/tools/common/Frameworks.cs +++ b/tools/common/Frameworks.cs @@ -708,6 +708,7 @@ public static Frameworks GetMacCatalystFrameworks () case "NotificationCenter": case "GLKit": case "VideoSubscriberAccount": + case "AccessorySetupKit": // The headers for FileProviderUI exist, but the native linker fails case "FileProviderUI": // The headers for Twitter are there, , but no documentation whatsoever online and the native linker fails too