---
title: UIScene.ConnectionOptions
framework: uikit
role: symbol
role_heading: Class
path: uikit/uiscene/connectionoptions
---

# UIScene.ConnectionOptions

A data object containing information about the reasons why UIKit created the scene.

## Declaration

```swift
@MainActor class ConnectionOptions
```

## Overview

Overview UIKit creates scenes for many reasons. It might do so in response to a Handoff request or a request to open a URL. When there’s a specific reason for creating a scene, UIKit fills a UIScene.ConnectionOptions object with the associated data and passes it to your delegate at connection time. Use the information in this object to respond accordingly. For example, open the URLs that UIKit provides, and display their contents in the scene. Don’t create UIScene.ConnectionOptions objects directly. UIKit creates UIScene.ConnectionOptions objects for you and passes them to the scene(_:willConnectTo:options:) method of your scene delegate.

## Topics

### Configuring the scene’s interface

- [userActivities](uikit/uiscene/connectionoptions/useractivities.md)

### Handling quick actions

- [shortcutItem](uikit/uiscene/connectionoptions/shortcutitem.md)

### Opening URLs

- [urlContexts](uikit/uiscene/connectionoptions/urlcontexts.md)

### Responding to a Handoff request

- [handoffUserActivityType](uikit/uiscene/connectionoptions/handoffuseractivitytype.md)

### Accepting a CloudKit share

- [cloudKitShareMetadata](uikit/uiscene/connectionoptions/cloudkitsharemetadata.md)

### Responding to notifications

- [notificationResponse](uikit/uiscene/connectionoptions/notificationresponse.md)

### Preparing for Near-Field Communication (NFC)

- [nfcEvent](uikit/uiscene/connectionoptions/nfcevent.md)

### Getting the source app

- [sourceApplication](uikit/uiscene/connectionoptions/sourceapplication.md)

### Instance Properties

- [appIntent](uikit/uiscene/connectionoptions/appintent.md)
- [credentialSessionEvent](uikit/uiscene/connectionoptions/credentialsessionevent.md)
- [gameControllerActivationContext](uikit/uiscene/connectionoptions/gamecontrolleractivationcontext.md)
- [marketplaceDisplayOption](uikit/uiscene/connectionoptions/marketplacedisplayoption.md)
- [sceneAccessoryUserInfo](uikit/uiscene/connectionoptions/sceneaccessoryuserinfo.md)
- [shouldHandleActiveWorkoutRecovery](uikit/uiscene/connectionoptions/shouldhandleactiveworkoutrecovery.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)
- [Sendable](swift/sendable.md)

## See Also

### Connecting and disconnecting the scene

- [scene(_:willConnectTo:options:)](uikit/uiscenedelegate/scene(_:willconnectto:options:).md)
- [sceneDidDisconnect(_:)](uikit/uiscenedelegate/scenediddisconnect(_:).md)
