Communicate with accessories connected to a device by the Apple Lightning connector, or connected wirelessly through Bluetooth.
- iOS 3.0+
- macOS 10.13+
- tvOS 10.0+
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.
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
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.
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.
EAWiFiUnconfiguredAccessory class provides your app information about an unconfigured MFI Wireless Accessory Configuration accessory.
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
EAAccessoryDelegate protocol defines a single method for receiving notifications when the associated
EAAccessory object is disconnected. Implementation of this method is optional.