---
title: External Accessory
framework: External Accessory
role: collection
role_heading: Framework
platforms: [iOS 3.0+, iPadOS 3.0+, Mac Catalyst 13.0+, macOS 10.13+, tvOS 10.0+, visionOS 1.0+]
path: externalaccessory
---

# External Accessory

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

## Overview

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.

## Topics

### Essentials

- [UISupportedExternalAccessoryProtocols](bundleresources/information-property-list/uisupportedexternalaccessoryprotocols.md)
- [EAAccessoryManager](externalaccessory/eaaccessorymanager.md)

### Accessory Communication

- [EAAccessory](externalaccessory/eaaccessory.md)
- [EASession](externalaccessory/easession.md)

### Wi-Fi Accessory Configuration

- [Wireless Accessory Configuration Entitlement](bundleresources/entitlements/com.apple.external-accessory.wireless-configuration.md)
- [EAWiFiUnconfiguredAccessoryBrowser](externalaccessory/eawifiunconfiguredaccessorybrowser.md)
- [EAWiFiUnconfiguredAccessory](externalaccessory/eawifiunconfiguredaccessory.md)
