---
title: AAUSBAccessoryManager
framework: accessoryaccess
role: symbol
role_heading: Class
path: accessoryaccess/aausbaccessorymanager
---

# AAUSBAccessoryManager

A class your app uses to manage USB accessories and the listener objects for those accessories.

## Declaration

```swift
class AAUSBAccessoryManager
```

## Discussion

Discussion Don’t instantiate an AAUSBAccessoryManager directly, instead obtain the manager through the class property shared. Use the AAUSBAccessoryManager to manage accessories and register interest in events from USB accessories through AAUSBAccessoryListener objects.  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. Your app can open this AAUSBAccessory object exclusively, and use it for performing USB transfers to the connected accessory. A USB accessory listener receives notifications when a USB accessories connect to or disconnect from the system. These listeners can register or unregister with the USB accessory manager object. The accessory manager notifies your app about the USB accessories as long an accessory’s listener remains registered with the manager. The framework delivers all the notifications to the listener on the internal serial queue of the accessory manager. The AAUSBAccessoryManager presents UI on behalf of your application, which means you can only use it from an application that implements a UI, that is, one that appears in the Dock. note: To use the AccessoryAccess framework, add the com.apple.developer.accessory-access.usb entitlement to your app’s Xcode configuration. For more information, see Accessory Access.

## Topics

### Accessing the shared manager

- [shared](accessoryaccess/aausbaccessorymanager/shared.md)

### Registering and unregistering listeners

- [registerListener(_:matchingCriteria:completionHandler:)](accessoryaccess/aausbaccessorymanager/registerlistener(_:matchingcriteria:completionhandler:).md)
- [unregisterListener(_:completionHandler:)](accessoryaccess/aausbaccessorymanager/unregisterlistener(_:completionhandler:).md)

### Finding events that apply to an accessory

- [events(matching:)](accessoryaccess/aausbaccessorymanager/events(matching:).md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Managing accessories

- [AAUSBAccessory](accessoryaccess/aausbaccessory.md)
