---
title: CPTemplateApplicationScene
framework: carplay
role: symbol
role_heading: Class
path: carplay/cptemplateapplicationscene
---

# CPTemplateApplicationScene

A CarPlay scene that controls your app’s user interface.

## Declaration

```swift
class CPTemplateApplicationScene
```

## Overview

Overview A scene manages your app’s user interface, including the window that CarPlay displays from that scene. Only navigation apps have access to that window, and use it for drawing map content. All other categories of apps use the scene’s interface controller exclusively for constructing their user interfaces. The scene manages the display of the window on the vehicle’s CarPlay screen, and the life cycle of that scene as CarPlay and the user interact with it. The scene notifies its delegate—an object that conforms to CPTemplateApplicationSceneDelegate—about various state changes and user actions. You don’t create scenes directly. Instead, you specify the name of the appropriate scene class as part of the CarPlay scene configuration you add to your Info.plist file—see the example below—or that you return from your app delegate’s application(_:configurationForConnecting:options:)  method. <key>CPTemplateApplicationSceneSessionRoleApplication</key> <array>      <dict>         <!-- Specify the name of the scene class. -->         <key>UISceneClassName</key>         <string>CPTemplateApplicationScene</string>         <key>UISceneConfigurationName</key>         <string>MyCarPlaySceneConfiguration</string>          <key>UISceneDelegateClassName</key>         <string>MyCarPlaySceneDelegate</string>      </dict> </array>

## Topics

### Responding to the Scene Life Cycle

- [delegate](carplay/cptemplateapplicationscene/delegate.md)
- [CPTemplateApplicationSceneDelegate](carplay/cptemplateapplicationscenedelegate.md)

### Accessing the Interface Controller

- [interfaceController](carplay/cptemplateapplicationscene/interfacecontroller.md)
- [CPInterfaceController](carplay/cpinterfacecontroller.md)

### Accessing the Window

- [carWindow](carplay/cptemplateapplicationscene/carwindow.md)
- [CPWindow](carplay/cpwindow.md)

### Instance Properties

- [contentStyle](carplay/cptemplateapplicationscene/contentstyle.md)

## Relationships

### Inherits From

- [UIScene](uikit/uiscene.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)
- [NSTouchBarProvider](appkit/nstouchbarprovider.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)
- [UIActivityItemsConfigurationProviding](uikit/uiactivityitemsconfigurationproviding.md)
- [UIPasteConfigurationSupporting](uikit/uipasteconfigurationsupporting.md)
- [UIResponderStandardEditActions](uikit/uiresponderstandardeditactions.md)
- [UIUserActivityRestoring](uikit/uiuseractivityrestoring.md)

## See Also

### CarPlay Integration

- [Requesting CarPlay Entitlements](carplay/requesting-carplay-entitlements.md)
- [Displaying Content in CarPlay](carplay/displaying-content-in-carplay.md)
- [Supporting Previous Versions of iOS](carplay/supporting-previous-versions-of-ios.md)
- [Using the CarPlay Simulator](carplay/using-the-carplay-simulator.md)
- [CPTemplateApplicationSceneDelegate](carplay/cptemplateapplicationscenedelegate.md)
- [CPSessionConfiguration](carplay/cpsessionconfiguration.md)
