Communicate with accessories connected to a device by the Apple Lightning connector, or connected wirelessly through Bluetooth.


The External Accessory framework provides support for communicating with external hardware connected to an iOS-based device through either the Apple Lightning or 30-pin connector, or wirelessly using Bluetooth. Applications that support external accessories must be sure to configure their Info.plist file correctly. Specifically, you must include the UISupportedExternalAccessoryProtocols key to declare the specific hardware protocols your application supports. For more information about this framework, see External Accessory Programming Topics.



class EAAccessory

The EAAccessory class provides your application with information about a single connected hardware accessory. You can use the information in this class to determine if your application is able to open a session to a given accessory. After you have an open session, you can also associate a custom delegate with the accessory object to be notified to changes in the accessory state. Your delegate must adopt the EAAccessoryDelegate protocol.

class EAAccessoryManager

The EAAccessoryManager class coordinates the attached accessories for an iOS-based device. You use this class to retrieve a list of accessories to which your application might want to connect. You also use this class to start and stop the sending of accessory-related connect and disconnect notifications.

class EASession

The EASession class is used to create a communications channel between your application and a connected hardware accessory. When creating a session, you must specify the protocol you wish to use to communicate with the accessory. After initializing an instance of this class, you use the provided output and input streams to transfer data to and from the accessory using that protocol.

class EAWiFiUnconfiguredAccessory

The EAWiFiUnconfiguredAccessory class provides your app information about an unconfigured MFI Wireless Accessory Configuration accessory.

class EAWiFiUnconfiguredAccessoryBrowser

The EAWiFiUnconfiguredAccessoryBrowser class gives your app access to the MFi Wireless Accessory Configuration process. You use a browser object to scan for unconfigured accessories, connect them to the user's Wi-Fi infrastructure, and configure attributes of the accessories. An accessory is represented by an instance of EAWiFiUnconfiguredAccessory.


protocol EAAccessoryDelegate

The EAAccessoryDelegate protocol defines a single method for receiving notifications when the associated EAAccessory object is disconnected. Implementation of this method is optional.

protocol EAWiFiUnconfiguredAccessoryBrowserDelegate

The EAWiFiUnconfiguredAccessoryBrowserDelegate protocol defines several required callbacks that tell the delegate of an EAWiFiUnconfiguredAccessoryBrowser object about the state of the search for unconfigured accessories and the configuration processes.


struct EAWiFiUnconfiguredAccessoryProperties

Options that can be combined using the C bitwise OR operator to represent the properties of an EAWiFiUnconfiguredAccessory object.


Wireless Accessory Configuration Entitlement

A Boolean value indicating whether your app may configure MFi Wi-Fi accessories.


See Also