Skip to content

AccessoryAccess macOS xcode27.0 b1

Alex Soto edited this page Jun 9, 2026 · 1 revision

#AccessoryAccess.framework

diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AccessoryAccess.framework/Headers/AADefines.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AccessoryAccess.framework/Headers/AADefines.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AccessoryAccess.framework/Headers/AADefines.h	1969-12-31 19:00:00
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AccessoryAccess.framework/Headers/AADefines.h	2026-05-23 16:21:22
@@ -0,0 +1,15 @@
+//
+//  AADefines.h
+//  AccessoryAccess
+//
+//  Copyright © 2023-2025 Apple Inc. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+#ifdef __cplusplus
+#define AA_EXPORT extern "C" __attribute__((visibility ("default")))
+#else
+#define AA_EXPORT extern __attribute__((visibility ("default")))
+#endif
+
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AccessoryAccess.framework/Headers/AAError.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AccessoryAccess.framework/Headers/AAError.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AccessoryAccess.framework/Headers/AAError.h	1969-12-31 19:00:00
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AccessoryAccess.framework/Headers/AAError.h	2026-05-23 16:21:22
@@ -0,0 +1,34 @@
+//
+//  AAError.h
+//  AccessoryAccess
+//
+//  Copyright © 2023-2026 Apple Inc. All rights reserved.
+//
+
+#import <AccessoryAccess/AADefines.h>
+
+AA_EXPORT NSErrorDomain const AAErrorDomain API_AVAILABLE(macos(27.0));
+
+/*!
+ @enum AAErrorCode
+ @abstract
+    Error type returned by the AccessoryAccess framework.
+    The `NSError` domain is `AAErrorDomain`, the code is one of the `AAErrorCode` constants.
+
+    The AccessoryAccess framework can also report errors from other domains when the error originates from a lower level component.
+
+ @constant AAErrorCodeInternal
+    An internal error.
+ @constant AAErrorCodeAccessoryListenerAlreadyRegistered
+    The accessory listener is already registered, and therefore cannot be re-registered.
+ @constant AAErrorCodeAccessoryNotAccessible
+    The accessory is not accessible since it may already be in use.
+ @constant AAErrorCodeInvalidAccessoryState
+    API used when the accessory is not in the correct state.
+ */
+typedef NS_ERROR_ENUM(AAErrorDomain, AAErrorCode) {
+    AAErrorCodeInternal NS_SWIFT_NAME(internalError) = 1,
+    AAErrorCodeAccessoryListenerAlreadyRegistered = 2,
+    AAErrorCodeAccessoryNotAccessible = 3,
+    AAErrorCodeInvalidAccessoryState = 4,
+} API_AVAILABLE(macos(27.0));
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AccessoryAccess.framework/Headers/AAUSBAccessory.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AccessoryAccess.framework/Headers/AAUSBAccessory.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AccessoryAccess.framework/Headers/AAUSBAccessory.h	1969-12-31 19:00:00
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AccessoryAccess.framework/Headers/AAUSBAccessory.h	2026-05-23 16:21:22
@@ -0,0 +1,103 @@
+//
+//  AAUSBAccessory.h
+//  AccessoryAccess
+//
+//  Copyright © 2023-2026 Apple Inc. All rights reserved.
+//
+
+#import <AccessoryAccess/AADefines.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@class IOUSBHostDevice;
+
+/*!
+ @abstract Class representing a USB accessory.
+ @discussion
+    A USB accessory can either be obtained from the `[AAUSBAccessoryListener usbAccessoryDidConnect:]` method, or
+    instantiated from an XPC representation representing an already existing USB accessory.
+ @see AAUSBAccessoryListener
+ */
+AA_EXPORT API_AVAILABLE(macos(27.0)) NS_SWIFT_SENDABLE
+@interface AAUSBAccessory : NSObject<NSSecureCoding>
+
++ (instancetype)new NS_UNAVAILABLE;
+- (instancetype)init NS_UNAVAILABLE;
+
+/*!
+ @abstract Creates a USB accessory from an XPC representation.
+ @param xpcRepresentation The XPC representation of an `AAUSBAccessory` object received via XPC.
+ @return An `AAUSBAccessory` object if the given `xpc_object_t` is decoded successfully, or nil if it is invalid.
+ */
+- (nullable instancetype)initWithXPCRepresentation:(xpc_object_t)xpcRepresentation NS_DESIGNATED_INITIALIZER;
+
+/*! @abstract Returns the IORegistry ID for the USB accessory. */
+@property (readonly) uint64_t registryID;
+
+/*!
+ @abstract Returns the device descriptor data.
+ @discussion
+    The underlying bytes can be cast to `IOUSBDeviceDescriptor`.
+ @see IOUSBDeviceDescriptor
+ */
+@property (readonly) NSData *deviceDescriptorData;
+
+/*!
+ @abstract Returns the currently selected configuration descriptor data.
+ @discussion
+    The underlying bytes can be cast to `IOUSBConfigurationDescriptor*` and passed to USB descriptor parsing API
+    to parse other descriptors. If the USB accessory is not configured, this returns `nil`.
+ @see IOUSBConfigurationDescriptor
+ */
+@property (readonly, nullable) NSData *configurationDescriptorData;
+
+/*!
+ @abstract Creates an encoded representation of the USB accessory.
+ @discussion
+    A USB accessory can be encoded to `xpc_object_t`, and passed to an XPC service over an XPC connection.
+ */
+- (xpc_object_t)createXPCRepresentation;
+
+/*!
+ @abstract Opens a connection to the USB accessory for this process to access it exclusively.
+ @discussion
+    This operation opens a connection to the USB accessory for exclusive access and returns its `IOUSBHostDevice` object.
+    Multiple connections can be opened to the accessory from a process, each represented by a different `IOUSBHostDevice` object.
+
+    If the accessory was already opened by another worker process of this client application then this operation will
+    fail with the `AAErrorCodeAccessoryNotAccessible` error. If the accessory is not in a state to be opened for exclusive access,
+    then this operation fails with the `AAErrorCodeInvalidAccessoryState` error.
+
+    When the process no longer needs exclusive access to this accessory, call `closeWithCompletionHandler:` to close the
+    accessory. This will close all open connections to the accessory and invalidate all the `IOUSBHostDevice` objects.
+ @param serviceQueue A serial queue that should be used to service all the asynchronous requests submitted to the default control endpoint.
+    By default an internal serial queue will be created for the client process.
+ @param completionHandler Block called after the client has successfully opened the USB accessory.
+    The error parameter passed to the block is nil if the operation was successful.
+    The block will be invoked on an arbitrary thread.
+ @see IOUSBHostDevice
+ */
+- (void)openWithServiceQueue:(nullable dispatch_queue_t)serviceQueue completionHandler:(void (NS_SWIFT_SENDABLE ^)(IOUSBHostDevice * _Nullable_on_error, NSError * _Nullable))completionHandler NS_SWIFT_NAME(open(serviceQueue:completionHandler:));
+
+/*!
+ @abstract Closes all connections to the USB accessory for this process.
+ @discussion
+    This operation closes the USB accessory, that was previously opened through `openWithServiceQueue:completionHandler:`.
+    Once this operation is completed, any `IOUSBHostDevice` object that was returned previously is invalidated and cannot be
+    used for USB transfers. This operation has the same effect as calling `-[IOUSBHostDevice destroy]`.
+
+    Once the accessory is closed, the accessory can be reopened by this process or any other worker process of this client
+    application for exclusive access using `openWithServiceQueue:completionHandler:`.
+ @warning
+    Closing an accessory via `-[IOUSBHostDevice destroy]` is a blocking operation. Such an operation
+    will cause deadlock, if executed from a completion handler.
+ @param completionHandler Block called after the client has successfully closed the USB accessory.
+    The error parameter passed to the block is nil if the operation was successful.
+    The block will be invoked on an arbitrary thread.
+ @see IOUSBHostDevice
+ */
+- (void)closeWithCompletionHandler:(void (NS_SWIFT_SENDABLE ^)(NSError * _Nullable))completionHandler NS_SWIFT_NAME(close(completionHandler:));
+
+@end
+
+NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AccessoryAccess.framework/Headers/AAUSBAccessoryListener.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AccessoryAccess.framework/Headers/AAUSBAccessoryListener.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AccessoryAccess.framework/Headers/AAUSBAccessoryListener.h	1969-12-31 19:00:00
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AccessoryAccess.framework/Headers/AAUSBAccessoryListener.h	2026-05-23 16:21:22
@@ -0,0 +1,61 @@
+//
+//  AAUSBAccessoryListener.h
+//  AccessoryAccess
+//
+//  Copyright © 2023-2026 Apple Inc. All rights reserved.
+//
+
+#import <AccessoryAccess/AADefines.h>
+
+@class AAUSBAccessory;
+
+NS_ASSUME_NONNULL_BEGIN
+
+/*!
+ @abstract `AAUSBAccessoryListener` listens to the USB accessory events.
+ @discussion
+    A class conforming to the `AAUSBAccessoryListener` protocol can provide methods that notify when a USB accessory is connected to or
+    disconnected from the system.
+
+    All the methods for a listener will be invoked on the internal serial queue of `AAUSBAccessoryManager`.
+ @note
+    When a fast user switch occurs or when the console user logs out (even with active remote sessions),
+    all connected USB accessories will be automatically disconnected from client applications. If your
+    application has registered listeners, they will receive `usbAccessoryDidDisconnect:` notifications
+    for accessories that match their registered criteria. When the user returns to the console session,
+    accessories will be automatically restored and reconnection notifications will be sent through
+    `usbAccessoryDidConnect:`.
+ */
+AA_EXPORT API_AVAILABLE(macos(27.0)) NS_SWIFT_SENDABLE
+@protocol AAUSBAccessoryListener <NSObject>
+@optional
+
+/*!
+ @abstract Invoked when a USB accessory connects to the system.
+ @discussion
+    This method is invoked every time a USB accessory, that satisfies the matching criteria this listener registered with `AAUSBAccessoryManager`
+    with, is connected to the system.
+
+    This method will be invoked on an arbitrary thread.
+ @param usbAccessory The USB accessory that connected to the system.
+ @see AAUSBAccessoryMatchingCriteria
+ @see AAUSBAccessoryManager
+ */
+- (void)usbAccessoryDidConnect:(AAUSBAccessory *)usbAccessory;
+
+/*!
+ @abstract Invoked when a USB accessory disconnects from the system.
+ @discussion
+    This method is invoked every time a USB accessory, for which the listener received the connect notification or was already connected at the
+    time of listener registration, is disconnected from the system.
+
+    This method will be invoked on an arbitrary thread.
+ @param usbAccessory The USB accessory that disconnected from the system.
+ @see AAUSBAccessoryMatchingCriteria
+ @see AAUSBAccessoryManager
+ */
+- (void)usbAccessoryDidDisconnect:(AAUSBAccessory *)usbAccessory;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AccessoryAccess.framework/Headers/AAUSBAccessoryManager.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AccessoryAccess.framework/Headers/AAUSBAccessoryManager.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AccessoryAccess.framework/Headers/AAUSBAccessoryManager.h	1969-12-31 19:00:00
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AccessoryAccess.framework/Headers/AAUSBAccessoryManager.h	2026-05-23 16:21:22
@@ -0,0 +1,79 @@
+//
+//  AAUSBAccessoryManager.h
+//  AccessoryAccess
+//
+//  Copyright © 2023-2026 Apple Inc. All rights reserved.
+//
+
+#import <AccessoryAccess/AAUSBAccessoryListener.h>
+
+@class AAUSBAccessoryMatchingCriteria;
+
+NS_ASSUME_NONNULL_BEGIN
+
+/*!
+ @abstract `AAUSBAccessoryManager` manages the USB accessories.
+ @discussion
+    `AAUSBAccessoryManager` class manages the USB accessories, as well as the listeners of these accessories.
+
+    A listener of USB accessories receives notifications when a USB accessory connects to or disconnects from the system. The listener
+    can be registered or unregistered with the USB accessory manager object. The accessory manager will notify the listener about the USB accessories
+    as long as it remains registered with the manager. All the notifications will be delivered to the listener on the internal serial queue
+    of the accessory manager.
+
+    When a USB accessory connects to the system, the USB accessory manager notifies the listener and provides it an `AAUSBAccessory` object that
+    represents this accessory. This `AAUSBAccessory` object can be opened exclusively, and used for performing USB transfers to
+    the connected accessory.
+
+    `AAUSBAccessoryManager` should not be instantiated directly. It should be obtained through the class property `[AAUSBAccessoryManager sharedManager]`.
+
+    As `AAUSBAccessoryManager` presents UI on behalf of your application, only use it from an ordinary application, that is, one that appears in the Dock.
+
+    Sign your application with the `com.apple.developer.accessory-access.usb` entitlement.
+ @see AAUSBAccessoryListener
+ */
+AA_EXPORT API_AVAILABLE(macos(27.0)) NS_SWIFT_SENDABLE
+@interface AAUSBAccessoryManager : NSObject
+
++ (instancetype)new NS_UNAVAILABLE;
+- (instancetype)init NS_UNAVAILABLE;
+
+/*!
+ @abstract Returns the shared USB accessory manager object for this process.
+ */
+@property (class, readonly, strong) AAUSBAccessoryManager *sharedManager;
+
+/*!
+ @abstract Register a listener of USB accessories.
+ @discussion
+    Register a listener of USB accessories that satisfy one of the given criteria. The listener is
+    notified when a USB accessory, that satisfies the criteria, connects to or disconnects from the system.
+
+    If the listener is already registered, this operation will fail with the `AAErrorCodeAccessoryListenerAlreadyRegistered` error.
+
+    If any accessories matching the criteria are already connected, they are passed to the completion handler.
+ @param listener The listener of USB accessories.
+ @param matchingCriteria Matching criteria for filtering USB accessories.
+    AAUSBAccessoryManager will notify the listener of the USB accessory events if the accessory satisfies any of the
+    AAUSBAccessoryMatchingCriteria objects. Passing an empty array will match any USB accessory.
+ @param completionHandler Block called after the listener is successfully registered.
+    The first parameter passed to the block is an array containing accessories that are already connected and match the provided criteria. The array is empty if there are none.
+    The second parameter passed to the block is nil if the listener was successfully registered.
+    The block will be invoked on an arbitrary thread.
+ @see AAUSBAccessoryMatchingCriteria
+ */
+- (void)registerListener:(id <AAUSBAccessoryListener>)listener withMatchingCriteria:(NSArray<AAUSBAccessoryMatchingCriteria *> *)matchingCriteria completionHandler:(void (NS_SWIFT_SENDABLE ^)(NSArray<AAUSBAccessory *> *, NSError * _Nullable))completionHandler NS_SWIFT_NAME(registerListener(_:matchingCriteria:completionHandler:));
+
+/*!
+ @abstract Unregister a previously registered listener.
+ @discussion
+    Unregister a listener of USB accessories that was previously registered.
+ @param listener The listener of USB accessories.
+ @param completionHandler Block called after the listener is successfully unregistered.
+    The block will be invoked on an arbitrary thread.
+ */
+- (void)unregisterListener:(id <AAUSBAccessoryListener>)listener completionHandler:(void (NS_SWIFT_SENDABLE ^)(void))completionHandler NS_SWIFT_NAME(unregisterListener(_:completionHandler:));
+
+@end
+
+NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AccessoryAccess.framework/Headers/AAUSBAccessoryMatchingCriteria.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AccessoryAccess.framework/Headers/AAUSBAccessoryMatchingCriteria.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AccessoryAccess.framework/Headers/AAUSBAccessoryMatchingCriteria.h	1969-12-31 19:00:00
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AccessoryAccess.framework/Headers/AAUSBAccessoryMatchingCriteria.h	2026-05-23 16:21:22
@@ -0,0 +1,81 @@
+//
+//  AAUSBAccessoryMatchingCriteria.h
+//  AccessoryAccess
+//
+//  Copyright © 2023-2026 Apple Inc. All rights reserved.
+//
+
+#import <AccessoryAccess/AADefines.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+/*!
+ @abstract Options for performing interface matching using interface matching criteria/dictionaries.
+*/
+typedef NS_ENUM(NSInteger, AAUSBAccessoryMatchingCriteriaInterfaceMatchingOption) {
+    /*! Matching is successful for the USB accessory that has at least one USB interface matching every criteria/dictionary. */
+    AAUSBAccessoryMatchingCriteriaInterfaceMatchingOptionMatchAll,
+
+    /*! Matching is successful for the USB accessory that has at least one USB interface matching any of the criteria/dictionaries. */
+    AAUSBAccessoryMatchingCriteriaInterfaceMatchingOptionMatchAny,
+} NS_SWIFT_NAME(AAUSBAccessoryMatchingCriteria.InterfaceMatchingOption) API_AVAILABLE(macos(27.0));
+
+/*!
+ @abstract Class representing the accessory matching criteria for a USB accessory.
+ @discussion
+    A class conforming to the `AAUSBAccessoryListener` protocol can use `AAUSBAccessoryMatchingCriteria` objects
+    to register itself with `AAUSBAccessoryManager`.
+ @see AAUSBAccessoryListener
+ @see AAUSBAccessoryManager
+ */
+AA_EXPORT API_AVAILABLE(macos(27.0)) NS_SWIFT_SENDABLE
+@interface AAUSBAccessoryMatchingCriteria : NSObject<NSCopying>
+
++ (instancetype)new NS_UNAVAILABLE;
+- (instancetype)init NS_UNAVAILABLE;
+
+/*!
+ @abstract Initialize a criteria object using a USB device matching dictionary.
+ @discussion
+    Use `-[IOUSBHostDevice createMatchingDictionaryWithVendorID:productID:bcdDevice:deviceClass:deviceSubclass:
+    deviceProtocol:speed:productIDArray:]` to create such a matching dictionary.
+
+    See USBSpec.h User-Space (https://developer.apple.com/documentation/iokit/usbspec_h_user-space?language=objc)
+    in IOKit for more details about dictionary keys for the USB device properties.
+ @param dictionary The matching dictionary containing USB device properties.
+ @see IOUSBHostDevice
+ */
+- (nullable instancetype)initWithDeviceMatchingDictionary:(NSDictionary<NSString *, id NS_SWIFT_SENDABLE> *)dictionary NS_SWIFT_NAME(init(deviceMatchingDictionary:)) NS_DESIGNATED_INITIALIZER;
+
+/*!
+ @abstract Initialize a criteria object using USB interface matching dictionaries, for the given USB device matching dictionary.
+ @discussion
+    Use `-[IOUSBHostDevice createMatchingDictionaryWithVendorID:productID:bcdDevice:deviceClass:deviceSubclass:
+    deviceProtocol:speed:productIDArray:]` to create a USB device matching dictionary.
+
+    Use `-[IOUSBHostInterface createMatchingDictionaryWithVendorID:productID:bcdDevice:interfaceNumber:
+    configurationValue:interfaceClass:interfaceSubclass:interfaceProtocol:speed:productIDArray:]` to create
+    a USB interface matching dictionary.
+
+    See USBSpec.h User-Space (https://developer.apple.com/documentation/iokit/usbspec_h_user-space?language=objc)
+    in IOKit for more details about dictionary keys for the USB device/interface matching dictionaries.
+ @param deviceMatchingDictionary USB device matching dictionary.
+ @param interfaceMatchingDictionaries USB interface matching dictionaries.
+ @param interfaceMatchingOption Option specifying how interface matching is performed for a USB accessory.
+    If the criteria is initialized with `AAUSBAccessoryMatchingCriteriaInterfaceMatchingOptionMatchAll`, then it
+    evaluates to true for a USB accessory when
+    - It matches the given non-`nil` `deviceMatchingDictionary`, and
+    - For the currently set configuration, all the `interfaceMatchingDictionaries` match at least one of its USB interfaces.
+
+    If the criteria is initialized with `AAUSBAccessoryMatchingCriteriaInterfaceMatchingOptionMatchAny`, then it
+    evaluates to true for a USB accessory when
+    - It matches the given non-`nil` `deviceMatchingDictionary`, and
+    - For the currently set configuration, any of the `interfaceMatchingDictionaries` match at least one of its USB interfaces.
+ @see IOUSBHostDevice
+ @see IOUSBHostInterface
+ */
+- (nullable instancetype)initWithDeviceMatchingDictionary:(NSDictionary<NSString *, id NS_SWIFT_SENDABLE> * _Nullable)deviceMatchingDictionary interfaceMatchingDictionaries:(NSArray<NSDictionary<NSString *, id NS_SWIFT_SENDABLE> *> *)interfaceMatchingDictionaries interfaceMatchingOption:(AAUSBAccessoryMatchingCriteriaInterfaceMatchingOption)interfaceMatchingOption NS_SWIFT_NAME(init(deviceMatchingDictionary:interfaceMatchingDictionaries:interfaceMatchingOption:)) NS_DESIGNATED_INITIALIZER;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AccessoryAccess.framework/Headers/AccessoryAccess.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AccessoryAccess.framework/Headers/AccessoryAccess.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AccessoryAccess.framework/Headers/AccessoryAccess.h	1969-12-31 19:00:00
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AccessoryAccess.framework/Headers/AccessoryAccess.h	2026-05-23 16:21:22
@@ -0,0 +1,13 @@
+//
+//  AccessoryAccess.h
+//  AccessoryAccess
+//
+//  Copyright © 2023-2025 Apple Inc. All rights reserved.
+//
+
+#import <AccessoryAccess/AADefines.h>
+#import <AccessoryAccess/AAError.h>
+#import <AccessoryAccess/AAUSBAccessory.h>
+#import <AccessoryAccess/AAUSBAccessoryListener.h>
+#import <AccessoryAccess/AAUSBAccessoryManager.h>
+#import <AccessoryAccess/AAUSBAccessoryMatchingCriteria.h>

Clone this wiki locally