---
title: RemoteMediaSessionExtensionConfiguration
framework: nowplaying
role: symbol
role_heading: Class
path: nowplaying/remotemediasessionextensionconfiguration
---

# RemoteMediaSessionExtensionConfiguration

The configuration object for a remote playback extension.

## Declaration

```swift
@MainActor final class RemoteMediaSessionExtensionConfiguration<Extension> where Extension : RemoteMediaSessionExtension
```

## Mentioned in

Publishing remote media sessions

## Overview

Overview This class manages the lifecycle of remote sessions within your app extension. It handles XPC communication, session registration, attribute updates, and automatic observation of session state changes. Create an instance of this class in your extension’s configuration property: @main struct MyPlaybackExtension: RemoteMediaSessionExtension {     var configuration: RemoteMediaSessionExtensionConfiguration<Self> {         RemoteMediaSessionExtensionConfiguration(extension: self)     } }

## Topics

### Initializers

- [init(extension:)](nowplaying/remotemediasessionextensionconfiguration/init(extension:).md)

## Relationships

### Conforms To

- [AppExtensionConfiguration](extensionfoundation/appextensionconfiguration.md)
- [Copyable](swift/copyable.md)
- [Escapable](swift/escapable.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Remote sessions

- [Publishing remote media sessions](nowplaying/publishing-remote-media-sessions.md)
- [RemoteMediaSessionRepresentable](nowplaying/remotemediasessionrepresentable.md)
- [RemoteMediaSession](nowplaying/remotemediasession.md)
- [RemoteMediaSessionExtension](nowplaying/remotemediasessionextension.md)
- [RemoteMediaSessionAttributes](nowplaying/remotemediasessionattributes.md)
- [RemoteMediaSessionError](nowplaying/remotemediasessionerror.md)
- [MediaDevice](nowplaying/mediadevice.md)
