<!--
{
  "availability" : [
    "Mac Catalyst: 26.2.0 -",
    "iOS: 26.2.0 -",
    "iPadOS: 26.2.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "AccessoryTransportExtension",
  "identifier" : "/documentation/AccessoryTransportExtension",
  "metadataVersion" : "0.1.0",
  "role" : "Framework",
  "symbol" : {
    "kind" : "Framework",
    "modules" : [
      "Accessory Transport Extension"
    ],
    "preciseIdentifier" : "AccessoryTransportExtension"
  },
  "title" : "Accessory Transport Extension"
}
-->

# Accessory Transport Extension

Transfer data securely to connected accessories that you develop.

## Overview

Use the Accessory Transport Extension framework to securely transfer information to an accessory that you develop. First, establish a connection with your accessory using <doc://com.apple.documentation/documentation/AccessorySetupKit>. Then, you can share Wi-Fi networks with your accessory using <doc://com.apple.documentation/documentation/WiFiInfrastructure>, or forward iOS system notifications to your accessory using <doc://com.apple.documentation/documentation/AccessoryNotifications>.

For information about automatic routing of audio to accessories, see <doc://com.apple.documentation/documentation/AudioAccessoryKit>.

> Important: This framework is available only for iOS. The framework ignores calls for apps built with Mac Catalyst, and iOS apps that run on visionOS or on Macs with Apple silicon.
> 
> You can develop and test an app that uses this framework on devices in any region. Customer installations of your app can only use the framework on devices located in the EU that are signed in with an Apple Account with an EU country or region.

## Share a Wi-Fi network with an accessory

Implement the [`AccessoryTransportAppExtension`](/documentation/AccessoryTransportExtension/AccessoryTransportAppExtension) protocol in an extension to share Wi-Fi networks with your accessory. The system calls your extension’s [`accept(sessionRequest:)`](/documentation/AccessoryTransportExtension/AccessoryTransportAppExtension/accept(sessionRequest:)) method when it’s ready to start. After accepting the session request, your extension connects to the accessory using <doc://com.apple.documentation/documentation/AccessorySetupKit/ASAccessorySession> and delivers Wi-Fi network data using <doc://com.apple.documentation/documentation/WiFiInfrastructure/WINetworkSharingProvider>.

## Forward iOS system notifications to an accessory

Using the Accessory Transport Extension framework with <doc://com.apple.documentation/documentation/AccessoryNotifications>, your app can receive iOS system notifications to send alerts to people on a connected accessory that you develop. The workflow requires three extensions to maintain security and encapsulation. Implement [`AccessoryDataProvider`](/documentation/AccessoryTransportExtension/AccessoryDataProvider) to receive and curate the content of a given notification. The system encrypts the notification data using keys you provide in your [`AccessoryTransportSecurity`](/documentation/AccessoryTransportExtension/AccessoryTransportSecurity) extension. Then, the system delivers the encrypted data to your [`AccessoryTransportAppExtension`](/documentation/AccessoryTransportExtension/AccessoryTransportAppExtension) for transmission to the accessory. Your transport extension sends the encrypted data to your accessory, but is unable to decipher the notification’s content.

## Topics

### Wi-Fi network sharing

[`AccessoryTransportAppExtension`](/documentation/AccessoryTransportExtension/AccessoryTransportAppExtension)

A protocol for an extension that transmits data to an accessory you develop.

[`AccessoryTransportExtensionConfiguration`](/documentation/AccessoryTransportExtension/AccessoryTransportExtensionConfiguration)

An interface that enables you to configure and manage communication between your extension and the system.

[`AccessoryTransportSession`](/documentation/AccessoryTransportExtension/AccessoryTransportSession)

A class that manages a transport session between the extension and the system.

  <doc://com.apple.documentation/documentation/WiFiInfrastructure>

### Notification forwarding

[Receiving iOS notifications on an accessory](/documentation/AccessoryTransportExtension/receiving-ios-notifications-on-an-accessory)

Create custom app extensions that manage iOS system notifications for your accessory.

[`AccessoryDataProvider`](/documentation/AccessoryTransportExtension/AccessoryDataProvider)

A protocol for an extension that receives iOS system notifications and curates their data for your accessory.

[`AccessoryDataProviderConfiguration`](/documentation/AccessoryTransportExtension/AccessoryDataProviderConfiguration)

A protocol that configures and manages communication between the extension and the system.

[`AccessoryTransportSecurity`](/documentation/AccessoryTransportExtension/AccessoryTransportSecurity)

A protocol for an extension that handles cryptographic key exchange with your accessory.

[`AccessoryTransportSecurityConfiguration`](/documentation/AccessoryTransportExtension/AccessoryTransportSecurityConfiguration)

A protocol that configures and manages communication between your security extension and the system.

  <doc://com.apple.documentation/documentation/AccessoryNotifications>

### Data and sessions

[`AccessoryFeature`](/documentation/AccessoryTransportExtension/AccessoryFeature)

A protocol that defines a capability for an accessory data provider extension.

[`AccessoryMessage`](/documentation/AccessoryTransportExtension/AccessoryMessage)

A structure that represents a message to send to an accessory.

[`AccessorySecuritySession`](/documentation/AccessoryTransportExtension/AccessorySecuritySession)

A class that manages a security session between the extension and the system.

[`TransportMessage`](/documentation/AccessoryTransportExtension/TransportMessage)

A structure that represents a message for transmission between the system and an accessory.

[`SecurityMessage`](/documentation/AccessoryTransportExtension/SecurityMessage)

A structure that carries key material for a secure channel between the system and an accessory.

[`AccessoryTransport`](/documentation/AccessoryTransportExtension/AccessoryTransport)

Transport methods for communicating with an 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)