Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 56 additions & 0 deletions src/accessorysetupkit.cs
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,7 @@ public enum ASAccessoryEventType : long {
AccessoryAdded = 30,
AccessoryRemoved = 31,
AccessoryChanged = 32,
Discovered = 33,
PickerDidPresent = 40,
PickerDidDismiss = 50,
PickerSetupBridging = 60,
Expand Down Expand Up @@ -156,9 +157,21 @@ interface ASAccessorySession {
[iOS (26, 0)]
[Export ("updateAuthorization:descriptor:completionHandler:")]
void UpdateAuthorization (ASAccessory accessory, ASDiscoveryDescriptor descriptor, ASAccessorySessionUpdateAuthorizationHandler completionHandler);

[Async]
[iOS (26, 1)]
[Export ("updatePickerShowingDiscoveredDisplayItems:completionHandler:")]
void UpdatePicker (ASDiscoveredDisplayItem [] showingDisplayItems, ASAccessorySessionUpdatePickerHandler completionHandler);

[Async]
[iOS (26, 1)]
[Export ("finishPickerDiscovery:")]
void FinishPickerDiscovery (ASAccessorySessionFinishPickerDiscoveryHandler completionHandler);
}

delegate void ASAccessorySessionUpdateAuthorizationHandler ([NullAllowed] NSError error);
delegate void ASAccessorySessionUpdatePickerHandler ([NullAllowed] NSError error);
delegate void ASAccessorySessionFinishPickerDiscoveryHandler ([NullAllowed] NSError error);

[BaseType (typeof (NSObject))]
[iOS (18, 0)]
Expand Down Expand Up @@ -295,6 +308,10 @@ interface ASMigrationDisplayItem {
[Export ("initWithName:productImage:descriptor:")]
[DesignatedInitializer]
NativeHandle Constructor (string name, UIImage productImage, ASDiscoveryDescriptor descriptor);

[iOS (26, 1)]
[Export ("wifiAwarePairedDeviceID")]
ulong WifiAwarePairedDeviceId { get; set; }
}

[iOS (26, 0)]
Expand Down Expand Up @@ -328,6 +345,10 @@ interface ASPickerDisplaySettings {

[Export ("discoveryTimeout")]
double DiscoveryTimeout { get; set; }

[iOS (26, 1)]
[Export ("options", ArgumentSemantic.Assign)]
ASPickerDisplaySettingsOptions Options { get; set; }
}

[Static]
Expand All @@ -343,5 +364,40 @@ partial interface ASPickerDisplaySettingsDiscoveryTimeout {
[iOS (26, 0)]
[Field ("ASPickerDisplaySettingsDiscoveryTimeoutLong")]
double Long { get; }

[iOS (26, 1)]
[Field ("ASPickerDisplaySettingsDiscoveryTimeoutUnbounded")]
double Unbounded { get; }
}

[iOS (26, 1)]
[BaseType (typeof (ASAccessory))]
interface ASDiscoveredAccessory {
[NullAllowed]
[Wrap ("WeakBluetoothAdvertisementData")]
CoreBluetooth.AdvertisementData BluetoothAdvertisementData { get; }

[NullAllowed, Export ("bluetoothAdvertisementData", ArgumentSemantic.Copy)]
NSDictionary WeakBluetoothAdvertisementData { get; }

[Export ("bluetoothRSSI", ArgumentSemantic.Copy)]
[BindAs (typeof (nint?))]
NSNumber BluetoothRSSI { get; }
}

[iOS (26, 1)]
[BaseType (typeof (ASPickerDisplayItem))]
[DisableDefaultCtor]
interface ASDiscoveredDisplayItem {
[Export ("initWithName:productImage:accessory:")]
NativeHandle Constructor (string name, UIImage productImage, ASDiscoveredAccessory accessory);
}

[iOS (26, 1)]
[Flags]
[Native]
public enum ASPickerDisplaySettingsOptions : ulong {
None = 0,
FilterDiscoveryResults = (1uL << 0),
}
}
9 changes: 9 additions & 0 deletions tests/cecil-tests/Documentation.KnownFailures.txt
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,7 @@ F:AccessorySetupKit.ASAccessoryEventType.AccessoryAdded
F:AccessorySetupKit.ASAccessoryEventType.AccessoryChanged
F:AccessorySetupKit.ASAccessoryEventType.AccessoryRemoved
F:AccessorySetupKit.ASAccessoryEventType.Activated
F:AccessorySetupKit.ASAccessoryEventType.Discovered
F:AccessorySetupKit.ASAccessoryEventType.Invalidated
F:AccessorySetupKit.ASAccessoryEventType.MigrationComplete
F:AccessorySetupKit.ASAccessoryEventType.PickerDidDismiss
Expand Down Expand Up @@ -177,6 +178,8 @@ F:AccessorySetupKit.ASErrorCode.UserRestricted
F:AccessorySetupKit.ASPickerDisplayItemSetupOptions.ConfirmAuthorization
F:AccessorySetupKit.ASPickerDisplayItemSetupOptions.FinishInApp
F:AccessorySetupKit.ASPickerDisplayItemSetupOptions.Rename
F:AccessorySetupKit.ASPickerDisplaySettingsOptions.FilterDiscoveryResults
F:AccessorySetupKit.ASPickerDisplaySettingsOptions.None
F:AddressBook.ABPropertyType.MultiMask
F:AdServices.AAAttributionErrorCode.InternalError
F:AdServices.AAAttributionErrorCode.NetworkError
Expand Down Expand Up @@ -8139,11 +8142,13 @@ M:Accessibility.AXPrefers.HorizontalTextEnabled
M:Accessibility.AXPrefers.NonBlinkingTextInsertionIndicator
M:AccessorySetupKit.ASAccessorySession.FailAuthorizationAsync(AccessorySetupKit.ASAccessory)
M:AccessorySetupKit.ASAccessorySession.FinishAuthorizationAsync(AccessorySetupKit.ASAccessory,AccessorySetupKit.ASAccessorySettings)
M:AccessorySetupKit.ASAccessorySession.FinishPickerDiscoveryAsync
M:AccessorySetupKit.ASAccessorySession.RemoveAccessoryAsync(AccessorySetupKit.ASAccessory)
M:AccessorySetupKit.ASAccessorySession.RenameAccessoryAsync(AccessorySetupKit.ASAccessory,AccessorySetupKit.ASAccessoryRenameOptions)
M:AccessorySetupKit.ASAccessorySession.ShowPickerAsync
M:AccessorySetupKit.ASAccessorySession.ShowPickerAsync(AccessorySetupKit.ASPickerDisplayItem[])
M:AccessorySetupKit.ASAccessorySession.UpdateAuthorizationAsync(AccessorySetupKit.ASAccessory,AccessorySetupKit.ASDiscoveryDescriptor)
M:AccessorySetupKit.ASAccessorySession.UpdatePickerAsync(AccessorySetupKit.ASDiscoveredDisplayItem[])
M:Accounts.ACAccountStore.Dispose(System.Boolean)
M:AddressBook.ABAddressBook.add_ExternalChange(System.EventHandler{AddressBook.ExternalChangeEventArgs})
M:AddressBook.ABAddressBook.remove_ExternalChange(System.EventHandler{AddressBook.ExternalChangeEventArgs})
Expand Down Expand Up @@ -18129,6 +18134,7 @@ P:Accessibility.IAXCustomContentProvider.AccessibilityCustomContentHandler
P:Accessibility.IAXDataAxisDescriptor.AttributedTitle
P:Accessibility.IAXDataAxisDescriptor.Title
P:Accessibility.IAXMathExpressionProvider.AccessibilityMathExpression
P:AccessorySetupKit.ASDiscoveredAccessory.BluetoothAdvertisementData
P:AddressBook.ABMultiValue`1.Item(System.IntPtr)
P:AppClip.APActivationPayload.Url
P:AppKit.INSAccessibility.AccessibilityActivationPoint
Expand Down Expand Up @@ -24809,14 +24815,17 @@ T:Accessibility.ValueDescriptionProviderHandler
T:AccessorySetupKit.ASAccessoryEventType
T:AccessorySetupKit.ASAccessoryRenameOptions
T:AccessorySetupKit.ASAccessorySessionCompletionHandler
T:AccessorySetupKit.ASAccessorySessionFinishPickerDiscoveryHandler
T:AccessorySetupKit.ASAccessorySessionUpdateAuthorizationHandler
T:AccessorySetupKit.ASAccessorySessionUpdatePickerHandler
T:AccessorySetupKit.ASAccessoryState
T:AccessorySetupKit.ASAccessorySupportOptions
T:AccessorySetupKit.ASDiscoveryDescriptorRange
T:AccessorySetupKit.ASDiscoveryDescriptorWiFiAwareServiceRole
T:AccessorySetupKit.ASErrorCode
T:AccessorySetupKit.ASPickerDisplayItemSetupOptions
T:AccessorySetupKit.ASPickerDisplaySettingsDiscoveryTimeout
T:AccessorySetupKit.ASPickerDisplaySettingsOptions
T:Accounts.ACLinkedInKey
T:AdServices.AAAttributionErrorCode
T:AppClip.APActivationPayload
Expand Down
6 changes: 6 additions & 0 deletions tests/introspection/ApiCtorInitTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -457,6 +457,12 @@ protected virtual bool Match (ConstructorInfo ctor, Type type)
var cstr = ctor.ToString ();

switch (type.Name) {
case "ASDiscoveredDisplayItem":
switch (cstr) {
case "Void .ctor(System.String, UIKit.UIImage, AccessorySetupKit.ASDiscoveryDescriptor)": // NS_UNAVAILABLE
return true;
}
break;
case "MKTileOverlayRenderer":
// NSInvalidArgumentEception Expected a MKTileOverlay
// looks like Apple has not yet added a DI for this type, but it should be `initWithTileOverlay:`
Expand Down
12 changes: 12 additions & 0 deletions tests/introspection/ApiProtocolTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -330,6 +330,10 @@ protected virtual bool Skip (Type type, string protocolName)
case "ASPropertyCompareString":
case "PKAddIdentityDocumentMetadata":
return true;
// Xcode 26.1 Conformance not in headers
case "ASDiscoveredAccessory":
case "ASDiscoveredDisplayItem":
return true;
}
break;
case "NSMutableCopying":
Expand Down Expand Up @@ -561,6 +565,10 @@ protected virtual bool Skip (Type type, string protocolName)
case "ASPropertyCompareString":
case "PKAddIdentityDocumentMetadata":
return true;
// Xcode 26.1 Conformance not in headers
case "ASDiscoveredAccessory":
case "ASDiscoveredDisplayItem":
return true;
}
break;
case "NSSecureCoding":
Expand Down Expand Up @@ -795,6 +803,10 @@ protected virtual bool Skip (Type type, string protocolName)
case "ASPropertyCompareString":
case "PKAddIdentityDocumentMetadata":
return true;
// Xcode 26.1 Conformance not in headers
case "ASDiscoveredAccessory":
case "ASDiscoveredDisplayItem":
return true;
}
break;
// conformance added in Xcode 8 (iOS 10 / macOS 10.12)
Expand Down

This file was deleted.

Loading