<!--
{
  "availability" : [
    "iOS: 26.5.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "AccessoryTransportExtension",
  "identifier" : "/documentation/AccessoryTransportExtension/TransportMessage",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "Accessory Transport Extension"
    ],
    "preciseIdentifier" : "s:27AccessoryTransportExtension0B7MessageV"
  },
  "title" : "TransportMessage"
}
-->

# TransportMessage

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

```
struct TransportMessage
```

## Overview

The [`AccessoryTransportSession.EventHandler`](/documentation/AccessoryTransportExtension/AccessoryTransportSession/EventHandler) protocol’s [`messageReceived(_:completion:)`](/documentation/AccessoryTransportExtension/AccessoryTransportSession/EventHandler/messageReceived(_:completion:)) method receives messages of this type from the system. Use the [`sendMessageToDataProvider(_:)`](/documentation/AccessoryTransportExtension/AccessoryTransportSession/sendMessageToDataProvider(_:)) method to send messages from your accessory back to the data provider extension.

## Correlate messages with capabilities

The [`sessionID`](/documentation/AccessoryTransportExtension/TransportMessage/sessionID) property identifies the capability session to which the message belongs. The system generates this identifier at feature enrollment time, and the value is fixed while the accessory remains paired through AccessorySetupKit.

## Topics

### Creating a transport message

[`init(sessionID: UUID, data: Data)`](/documentation/AccessoryTransportExtension/TransportMessage/init(sessionID:data:))

Initializes a transport message for a specific capability session.

### Accessing message content

[`let data: Data`](/documentation/AccessoryTransportExtension/TransportMessage/data)

A data object that contains the message content.

[`let sessionID: UUID`](/documentation/AccessoryTransportExtension/TransportMessage/sessionID)

A unique identifier for the message’s capability session.

## Relationships

### Conforms To

[`SendableMetatype`](/documentation/Swift/SendableMetatype)

[`Sendable`](/documentation/Swift/Sendable)

---

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)