<!--
{
  "availability" : [
    "iOS: 17.0.0 -",
    "iPadOS: 17.0.0 -",
    "macCatalyst: -",
    "tvOS: 17.0.0 -",
    "visionOS: -"
  ],
  "documentType" : "symbol",
  "framework" : "UIKit",
  "identifier" : "/documentation/UIKit/UISceneSessionActivationRequest-swift.struct",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "UIKit"
    ],
    "preciseIdentifier" : "s:5UIKit31UISceneSessionActivationRequestV"
  },
  "title" : "UISceneSessionActivationRequest"
}
-->

# UISceneSessionActivationRequest

A collection of properties that you use to request activation of a scene.

```
struct UISceneSessionActivationRequest
```

## Overview

A `UISceneSessionActiviationRequest` object provides information about how to activate a scene session. Create a request to specify:

- A user activity for the scene session.
- An existing scene session.
- A scene session with a specific role.

You create a `UISceneSessionActivationRequest` object in your code, then you pass it as a parameter when you call [`activateSceneSession(for:errorHandler:)`](/documentation/UIKit/UIApplication/activateSceneSession(for:errorHandler:)) to ask the system to activate the scene session.

## Topics

### Creating a request

[`init(role: UISceneSession.Role, userActivity: NSUserActivity?, options: UIScene.ActivationRequestOptions?)`](/documentation/UIKit/UISceneSessionActivationRequest-swift.struct/init(role:userActivity:options:))

Creates a scene session activation request object with a role, a user activity, and options that you provide.

[`init(session: UISceneSession, userActivity: NSUserActivity?, options: UIScene.ActivationRequestOptions?)`](/documentation/UIKit/UISceneSessionActivationRequest-swift.struct/init(session:userActivity:options:))

Creates a scene session activation request object with a scene session, a user activity, and options that you provide.

### Managing request details

[`var options: UIScene.ActivationRequestOptions?`](/documentation/UIKit/UISceneSessionActivationRequest-swift.struct/options)

Activation request options to further customize the request.

[`var role: UISceneSession.Role`](/documentation/UIKit/UISceneSessionActivationRequest-swift.struct/role)

The role to request.

[`var session: UISceneSession?`](/documentation/UIKit/UISceneSessionActivationRequest-swift.struct/session)

The specific scene session to activate.

[`var userActivity: NSUserActivity?`](/documentation/UIKit/UISceneSessionActivationRequest-swift.struct/userActivity)

A user activity to send to the newly activated scene.

### Initializers

[`init?<D>(hostingDelegateClass: D.Type)`](/documentation/UIKit/UISceneSessionActivationRequest-swift.struct/init(hostingDelegateClass:))

Creates a `UISceneSessionActivationRequest` customized to open a SwiftUI
scene.

[`init?<D>(hostingDelegateClass: D.Type, id: String)`](/documentation/UIKit/UISceneSessionActivationRequest-swift.struct/init(hostingDelegateClass:id:))

Creates a `UISceneSessionActivationRequest` customized to open a SwiftUI
scene with the given identifier.

[`init?<H, D>(hostingDelegateClass: H.Type, id: String, value: D)`](/documentation/UIKit/UISceneSessionActivationRequest-swift.struct/init(hostingDelegateClass:id:value:))

Creates a `UISceneSessionActivationRequest` customized to open a SwiftUI
scene with the given identifier and presented value.

[`init?<H, D>(hostingDelegateClass: H.Type, value: D)`](/documentation/UIKit/UISceneSessionActivationRequest-swift.struct/init(hostingDelegateClass:value:))

Creates a `UISceneSessionActivationRequest` customized to open a SwiftUI
scene with a presented value.

## Relationships

### Conforms To

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

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

---

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)