---
title: AccessoryFeatureRuntimeSessionHandler
framework: Accessory Transport Extension
role: symbol
role_heading: Protocol
platforms: [iOS 27.3+]
path: accessorytransportextension/accessoryfeatureruntimesessionhandler
---

# AccessoryFeatureRuntimeSessionHandler

A protocol that receives events from a transport extension’s feature session.

## Declaration

```swift
protocol AccessoryFeatureRuntimeSessionHandler<Session> : Sendable
```

## Overview

Overview Conform to this protocol in your transport extension to respond to the AccessoryFeatureRuntimeSession life cycle and incoming data. The system creates an instance of your type from the handler factory closure that you pass to makeFeatureSession(_:). A handler that serves one feature can’t serve another because each feature pins the Session associated type through its own Handler type alias (for example, AccessoryWorker.FeatureSession.Handler). Implement the only required method, sessionStarted(_:), to send data.

## Topics

### Handling the session life cycle

- [sessionStarted(_:)](accessorytransportextension/accessoryfeatureruntimesessionhandler/sessionstarted(_:).md)
- [sessionInvalidated(error:)](accessorytransportextension/accessoryfeatureruntimesessionhandler/sessioninvalidated(error:).md)

### Receiving data

- [dataReceived(_:)](accessorytransportextension/accessoryfeatureruntimesessionhandler/datareceived(_:).md)

### Associated Types

- [Session](accessorytransportextension/accessoryfeatureruntimesessionhandler/session.md)

## Relationships

### Inherits From

- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Managing feature sessions

- [AccessoryFeatureSession](accessorytransportextension/accessoryfeaturesession.md)
- [AccessoryFeatureSessionHandler](accessorytransportextension/accessoryfeaturesessionhandler.md)
- [AccessoryFeatureRuntimeSession](accessorytransportextension/accessoryfeatureruntimesession.md)
