---
title: AccessoryWorker
framework: Accessory Transport Extension
role: symbol
role_heading: Structure
platforms: [iOS 27.3+]
path: accessorytransportextension/accessoryworker
---

# AccessoryWorker

A feature that carries data between your data provider and transport extensions.

## Declaration

```swift
struct AccessoryWorker
```

## Mentioned in

Sending data to an accessory in the background

## Overview

Overview An accessory worker exchanges information with your accessory in the background, without waiting for a person to open your app. Create an instance of this structure in the extensionPoint of your AccessoryDataProvider extension, and open sessions from your transport extension with makeFeatureSession(_:) in response to events from your accessory. Your app defines the data format, and the Accessory Transport Extension framework treats the data as opaque, with no additional encryption. Enroll the feature for each accessory with requestAuthorization(for:). For more information, see Sending data to an accessory in the background.

## Topics

### Handling data-provider sessions

- [AccessoryWorker.Handler](accessorytransportextension/accessoryworker/handler.md)
- [AccessoryWorker.Session](accessorytransportextension/accessoryworker/session.md)

### Handling transport-extension sessions

- [AccessoryWorker.FeatureSession](accessorytransportextension/accessoryworker/featuresession.md)

### Checking authorization

- [AccessoryFeatureAuthorizationStatus](accessorytransportextension/accessoryfeatureauthorizationstatus.md)

### Creating the feature

- [init(_:)](accessorytransportextension/accessoryworker/init(_:).md)

## Relationships

### Conforms To

- [AccessoryFeature](accessorytransportextension/accessoryfeature.md)
- [AccessoryFeatureAuthorizing](accessorytransportextension/accessoryfeatureauthorizing.md)
- [AppExtensionPoint.Capability](extensionfoundation/appextensionpoint/capability.md)
- [Copyable](swift/copyable.md)
- [Escapable](swift/escapable.md)
- [Identifiable](swift/identifiable.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Background work

- [Sending data to an accessory in the background](accessorytransportextension/sending-data-to-an-accessory-in-the-background.md)
- [AccessoryGPUWorker](accessorytransportextension/accessorygpuworker.md)
