<!--
{
  "availability" : [
    "iOS: 3.0.0 -",
    "iPadOS: 3.0.0 -",
    "macCatalyst: 13.1.0 -",
    "macOS: 10.13.0 -",
    "tvOS: 10.0.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "ExternalAccessory",
  "identifier" : "/documentation/ExternalAccessory/EAAccessoryManager",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "External Accessory"
    ],
    "preciseIdentifier" : "c:objc(cs)EAAccessoryManager"
  },
  "title" : "EAAccessoryManager"
}
-->

# EAAccessoryManager

The object you use to identify connected accessories, and begin delivery of connection and disconnection notifications.

```
class EAAccessoryManager
```

## Overview

An [`EAAccessoryManager`](/documentation/ExternalAccessory/EAAccessoryManager) object coordinates the attached accessories for an iOS-based device. Use the shared accessory manager to retrieve a list of connected accessories, and start and stop the delivery of connection and disconnection notifications.

> Important:
> iPhone and iPad apps running on Macs with Apple silicon never receive connection notifications.

## Topics

### Getting the Shared Accessory Manager

[`+  sharedAccessoryManager`](/documentation/ExternalAccessory/EAAccessoryManager/shared())

Returns the shared accessory manager object for the iOS-based device.

### Managing Connection Status Changes

[`-  registerForLocalNotifications`](/documentation/ExternalAccessory/EAAccessoryManager/registerForLocalNotifications())

Begins the delivery of accessory-related notifications to the current application.

[`-  unregisterForLocalNotifications`](/documentation/ExternalAccessory/EAAccessoryManager/unregisterForLocalNotifications())

Stops the delivery of accessory-related notifications to the current application.

  <doc://com.apple.documentation/documentation/Foundation/NSNotification/Name-swift.struct/EAAccessoryDidConnect>

  <doc://com.apple.documentation/documentation/Foundation/NSNotification/Name-swift.struct/EAAccessoryDidDisconnect>

[`EAAccessoryDidConnectNotification`](/documentation/ExternalAccessory/EAAccessoryDidConnectNotification)

A notification that the system sends when an accessory becomes connected and available for your application to use.

[`EAAccessoryDidDisconnectNotification`](/documentation/ExternalAccessory/EAAccessoryDidDisconnectNotification)

A notification that is posted when an accessory is disconnected and no longer available for your application to use.

[`EAAccessoryKey`](/documentation/ExternalAccessory/EAAccessoryKey)

A key that indicates the accessory object whose status changed.

[`EAAccessorySelectedKey`](/documentation/ExternalAccessory/EAAccessorySelectedKey)

A key that indicates the accessory object that the user selected.

### Presenting the Bluetooth Picker

[`-  showBluetoothAccessoryPickerWithNameFilter:completion:`](/documentation/ExternalAccessory/EAAccessoryManager/showBluetoothAccessoryPicker(withNameFilter:completion:))

Displays an alert that allows the user to pair the device with a Bluetooth accessory.

[`EABluetoothAccessoryPickerCompletion`](/documentation/ExternalAccessory/EABluetoothAccessoryPickerCompletion)

The completion block for the Bluetooth picker.

[`EABluetoothAccessoryPickerError`](/documentation/ExternalAccessory/EABluetoothAccessoryPickerError)

Error codes returned by the Bluetooth accessory picker.

[`Code`](/documentation/ExternalAccessory/EABluetoothAccessoryPickerError/Code)

The error codes that may be passed in an error object for the Bluetooth picker completion block.

[`EABluetoothAccessoryPickerErrorDomain`](/documentation/ExternalAccessory/EABluetoothAccessoryPickerErrorDomain)

The domain for errors passed to a Bluetooth picker completion block.

### Getting the Available Accessories

[`connectedAccessories`](/documentation/ExternalAccessory/EAAccessoryManager/connectedAccessories)

The accessory objects corresponding to the list of currently connected accessories.

## Relationships

### Conforms To

[`CVarArg`](/documentation/Swift/CVarArg)

[`NSObjectProtocol`](/documentation/ObjectiveC/NSObjectProtocol)

[`CustomStringConvertible`](/documentation/Swift/CustomStringConvertible)

[`Equatable`](/documentation/Swift/Equatable)

[`Hashable`](/documentation/Swift/Hashable)

[`CustomDebugStringConvertible`](/documentation/Swift/CustomDebugStringConvertible)

### Inherits From

[`NSObject-swift.class`](/documentation/ObjectiveC/NSObject-swift.class)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)