<!--
{
  "availability" : [
    "iOS: 12.0 -",
    "iPadOS: 12.0 -",
    "macCatalyst: 14.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "CarPlay",
  "identifier" : "/documentation/CarPlay",
  "metadataVersion" : "0.1.0",
  "role" : "Framework",
  "symbol" : {
    "kind" : "Framework",
    "modules" : [
      "CarPlay"
    ],
    "preciseIdentifier" : "CarPlay"
  },
  "title" : "CarPlay"
}
-->

# CarPlay

Integrate CarPlay in apps related to audio, communication, navigation, parking, EV charging, food ordering, and more.

## Overview

Use the CarPlay framework to create an in-car experience for your app. The framework provides templates for building a version of your app’s interface suitable for presentation on a vehicle’s displays. Add the templates you want to your app and customize them to suit your content. You control the content of the templates, but the framework controls certain aspects of the template interface elements, such as the touch target size, font size, font color, and highlights.

CarPlay features run when the current device supports CarPlay and when that device is connected to an appropriately equipped vehicle. CarPlay handles variations in vehicle systems, letting you focus on your content. When a person runs your app from their vehicle, the system generates and hosts your app’s interface for you. If the device doesn’t support CarPlay, the system doesn’t try to access your app’s CarPlay features.

You can use other technologies to drive portions of your app’s CarPlay interface. Messaging apps can include <doc://com.apple.documentation/documentation/SiriKit> support to allow someone to read or send messages. VoIP apps can use <doc://com.apple.documentation/documentation/CallKit> to manage incoming and outgoing calls, often in combination with SiriKit call support. Navigation apps can include <doc://com.apple.documentation/documentation/MapKit> support.

> Related Sessions from WWDC20:
> Session 10635: [Accelerate Your App with CarPlay](https://developer.apple.com/videos/play/wwdc2020/10635/)

## Topics

### CarPlay Integration

[Requesting CarPlay Entitlements](/documentation/CarPlay/requesting-carplay-entitlements)

Configure your CarPlay-enabled app with the entitlements it requires.

[Displaying Content in CarPlay](/documentation/CarPlay/displaying-content-in-carplay)

Use scenes to present your app’s content on the vehicle’s built-in screen.

[Supporting Previous Versions of iOS](/documentation/CarPlay/supporting-previous-versions-of-ios)

Make your CarPlay-enabled apps compatible with older system versions, such as iOS 13 and earlier.

[Using the CarPlay Simulator](/documentation/CarPlay/using-the-carplay-simulator)

Configure Simulator to run and debug your CarPlay-enabled app.

[`CPTemplateApplicationScene`](/documentation/CarPlay/CPTemplateApplicationScene)

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

[`CPTemplateApplicationSceneDelegate`](/documentation/CarPlay/CPTemplateApplicationSceneDelegate)

The methods for responding to the life cycle events of your app’s scene.

[`CPSessionConfiguration`](/documentation/CarPlay/CPSessionConfiguration)

An object that provides vehicle properties and configuration for the CarPlay environment.

### General Purpose Templates

Display your app’s content using a variety of templates that provide a consistent CarPlay layout and appearance.

[`CPListTemplate`](/documentation/CarPlay/CPListTemplate)

A template that displays and manages a list of items.

[`CPGridTemplate`](/documentation/CarPlay/CPGridTemplate)

A template that displays and manages a grid of items.

[`CPTabBarTemplate`](/documentation/CarPlay/CPTabBarTemplate)

A container template that displays and manages other templates, presenting them as tabs.

[`CPTemplate`](/documentation/CarPlay/CPTemplate)

An abstract base class for interface templates.

[`CPBarButtonProviding`](/documentation/CarPlay/CPBarButtonProviding)

The methods that templates use to provide buttons for the navigation bar.

### Audio

Templates that are available exclusively to apps with the audio entitlement.

[Integrating CarPlay with Your Music App](/documentation/CarPlay/integrating-carplay-with-your-music-app)

Configure your music app to work with CarPlay by displaying a custom UI.

[`CPNowPlayingTemplate`](/documentation/CarPlay/CPNowPlayingTemplate)

A shared system template that displays Now Playing information.

### Instrument cluster

Symbols that are available for managing the instrument cluster.

[`CPInstrumentClusterController`](/documentation/CarPlay/CPInstrumentClusterController)

[`CPInstrumentClusterControllerDelegate`](/documentation/CarPlay/CPInstrumentClusterControllerDelegate)

[`CPTemplateApplicationInstrumentClusterScene`](/documentation/CarPlay/CPTemplateApplicationInstrumentClusterScene)

[`CPTemplateApplicationInstrumentClusterSceneDelegate`](/documentation/CarPlay/CPTemplateApplicationInstrumentClusterSceneDelegate)

### Navigation

Symbols that are available exclusively to apps with the navigation entitlement.

[Integrating CarPlay with Your Navigation App](/documentation/CarPlay/integrating-carplay-with-your-navigation-app)

Configure your navigation app to work with CarPlay by displaying your custom map and directions.

[`CPTemplateApplicationDashboardScene`](/documentation/CarPlay/CPTemplateApplicationDashboardScene)

A CarPlay scene that controls your app’s dashboard navigation window.

[`CPTemplateApplicationDashboardSceneDelegate`](/documentation/CarPlay/CPTemplateApplicationDashboardSceneDelegate)

The methods for responding to the life-cycle events of your navigation app’s dashboard scene.

[`CPMapTemplate`](/documentation/CarPlay/CPMapTemplate)

A template that displays a navigation overlay that your app draws on the map.

[`CPSearchTemplate`](/documentation/CarPlay/CPSearchTemplate)

A template that provides the ability to search for a destination and see a list of search results.

[`CPVoiceControlTemplate`](/documentation/CarPlay/CPVoiceControlTemplate)

A template that displays a voice control indicator during audio input.

### Location and Information

Templates that are available exclusively to apps with the parking, EV-charging, or food-ordering entitlements.

[`CPPointOfInterestTemplate`](/documentation/CarPlay/CPPointOfInterestTemplate)

A template that displays a map with selectable points of interest.

[`CPInformationTemplate`](/documentation/CarPlay/CPInformationTemplate)

A template that provides information for a point of interest, food order, parking location, or charging location.

[`CPTextButton`](/documentation/CarPlay/CPTextButton)

A button that displays a stylized title.

[Integrating CarPlay with your quick-ordering app](/documentation/CarPlay/integrating-carplay-with-your-quick-ordering-app)

Configure your food-ordering app to work with CarPlay.

### Maneuvers

[`CPManeuver`](/documentation/CarPlay/CPManeuver)

An object that describes a single navigation instruction.

[`CPManeuverState`](/documentation/CarPlay/CPManeuverState)

Values that describe the state of a maneuver.

[`CPManeuverType`](/documentation/CarPlay/CPManeuverType)

Values that describe types of navigation maneuvers.

### Routes, lanes and junctions

[`CPRouteInformation`](/documentation/CarPlay/CPRouteInformation)

A class that describes the characteristic elements of a route.

[`CPLane`](/documentation/CarPlay/CPLane)

A class that describes characteristics of a lane on a roadway.

[`CPLaneGuidance`](/documentation/CarPlay/CPLaneGuidance)

A class that provides information that describes the number of lanes on a roadway and navigation instruction variants.

[`CPLaneStatus`](/documentation/CarPlay/CPLaneStatus)

Values that describe the status or preferability of a lane.

[`CPJunctionType`](/documentation/CarPlay/CPJunctionType)

Values that represent types of roadway junctions.

### Communication

Templates that are available exclusively to apps with the communication entitlement.

[`CPContactTemplate`](/documentation/CarPlay/CPContactTemplate)

A template that displays information about a person or a business.

### Actions and Alerts

[`CPActionSheetTemplate`](/documentation/CarPlay/CPActionSheetTemplate)

A template that displays a modal action sheet.

[`CPAlertTemplate`](/documentation/CarPlay/CPAlertTemplate)

A template that displays a modal alert.

[`CPAlertAction`](/documentation/CarPlay/CPAlertAction)

An object that encapsulates an action the user can perform on an action sheet or alert.

### Related Types

[`CPButton`](/documentation/CarPlay/CPButton)

A button that displays an image and invokes a handler when the user taps it.

[`CPImageSet`](/documentation/CarPlay/CPImageSet)

Light and dark representations of an image.

[`CarPlayErrorDomain`](/documentation/CarPlay/CarPlayErrorDomain)

The domain that CarPlay uses for any errors it provides.

### Deprecated

[Deprecated Symbols](/documentation/CarPlay/deprecated-symbols)

Symbols that the CarPlay framework no longer supports.

### Reference

[CarPlay Enumerations](/documentation/CarPlay/carplay-enumerations)

[CarPlay Constants](/documentation/CarPlay/carplay-constants)



---

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)