<!--
{
  "availability" : [

  ],
  "documentType" : "symbol",
  "framework" : "ExternalAccessory",
  "identifier" : "/documentation/ExternalAccessory",
  "metadataVersion" : "0.1.0",
  "role" : "Framework",
  "symbol" : {
    "kind" : "Framework",
    "modules" : [
      "External Accessory"
    ],
    "preciseIdentifier" : "ExternalAccessory"
  },
  "title" : "External Accessory"
}
-->

# External Accessory

Communicate with accessories that connect to a device with the Apple Lightning connector, or with Bluetooth wireless technology.

## Overview

Use the External Accessory framework to set up and manage a connection to an MFi accessory your iOS app supports. The framework supports hardware that connects to an iOS or iPadOS device physically through an Apple Lightning or a 30-pin connector, or wirelessly with Bluetooth technology. The framework notifies your app when the accessory connects or disconnects from the user’s device. While connected, you communicate directly with the accessory using any hardware protocols the device supports.

> Note:
> iPad and iPhone apps running on a Mac with Apple silicon can’t connect to external accessories using this framework. You may continue to link apps to this framework and run other features on Apple silicon.

The manufacturer of an MFi accessory decides which third-party apps may communicate with their accessories. If you’re developing an app, work with the manufacturer to obtain the information you need to communicate with their hardware. For example, obtain the specifications for the communication protocols the device supports.

For more information about how to connect to external accessories, see [External Accessory Programming Topics](https://developer.apple.com/library/archive/featuredarticles/ExternalAccessoryPT/Introduction/Introduction.html#//apple_ref/doc/uid/TP40009502).

## Topics

### Essentials

  <doc://com.apple.documentation/documentation/BundleResources/Information-Property-List/UISupportedExternalAccessoryProtocols>

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

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

### Accessory Communication

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

An object that contains information about a single, connected hardware accessory.

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

The object you use to manage communications between your app and a connected hardware accessory.

### Wi-Fi Accessory Configuration

  <doc://com.apple.documentation/documentation/BundleResources/Entitlements/com.apple.external-accessory.wireless-configuration>

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

An object you use to scan for wireless accessories and configure them for use with the user’s app.

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

An object that provides information about an unconfigured MFi Wireless Accessory Configuration accessory.



---

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)
