---
title: MSSetupSession
framework: Media Setup
role: symbol
role_heading: Class
platforms: [iOS 14.0+, iPadOS 14.0+, Mac Catalyst 14.0+, visionOS 1.0+]
path: mediasetup/mssetupsession
---

# MSSetupSession

An object that manages the transfer of configuration information between your app, the system, your media service, and HomePod speakers.

## Declaration

```swift
class MSSetupSession
```

## Overview

Overview An MSSetupSession object guides the user through connecting HomePod speakers in their home to your media service. When your iOS app calls start(), the session displays a setup view in the window you provide in presentationAnchor(). The session embeds your app icon and the serviceName you provide into this setup view.

After the user confirms the setup by tapping the “Use in Home” button, the system requests an OAuth token from your authentication service and shares the token with HomePod speakers in the user’s home.

## Topics

### Preparing the Configuration View

- [init(serviceAccount:)](mediasetup/mssetupsession/init(serviceaccount:).md)
- [account](mediasetup/mssetupsession/account.md)

### Presenting the Configuration View

- [presentationContext](mediasetup/mssetupsession/presentationcontext.md)
- [MSAuthenticationPresentationContext](mediasetup/msauthenticationpresentationcontext.md)
- [start()](mediasetup/mssetupsession/start().md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### HomePod Configuration

- [MSServiceAccount](mediasetup/msserviceaccount.md)
