Add CarPlay support to your navigation app.


The CarPlay framework provides a system-generated and -hosted user interface that you customize to display your navigation app. The framework maintains control over UI elements—such as touch target size, font size and color, highlights, and so on—while also enabling your app to display custom map tiles, trip and routing information, and more. This flexibility lets you focus on delivering a great CarPlay experience without the burden of creating an app that works on all supported CarPlay systems.



Meeting Guidelines for Navigation Apps

Follow these guidelines for CarPlay navigation apps.

Integrating CarPlay with Your Navigation App

Configure your navigation app to work in CarPlay.

protocol CPApplicationDelegate

The interface for handling CarPlay life-cycle events.

class CPWindow

The main window for content presented on the CarPlay screen.

User Interface Basics

Overlay user interface elements, such as map buttons and list items, on top of the map by using templates.

class CPInterfaceController

A controller that manages the templates that provide the user interface for your app on the CarPlay screen.

class CPMapTemplate

A template that provides a navigation bar and map buttons allowing users to interact with your app.

class CPListTemplate

A template that displays a hierarchical list of items.

class CPGridTemplate

A template that displays a grid of items.

class CPTemplate

An abstract base class for interface templates.

class CPImageSet

Light and dark representations of an image.

Navigation Bar

protocol CPBarButtonProviding

A protocol indicating that an object provides navigation bar buttons.

class CPBarButton

A button in a navigation bar.

Search Results

class CPSearchTemplate

A template that displays a destination search screen.

Voice Control

class CPVoiceControlTemplate

A template that displays a voice control indicator on the CarPlay screen.

Action Sheets and Alerts

class CPActionSheetTemplate

A template for displaying an action sheet on the CarPlay screen.

class CPAlertTemplate

A template for displaying alerts on the CarPlay screen.

class CPAlertAction

An action displayed on an alert as a button.

Route Guidance

class CPNavigationSession

An object representing an active route guidance session.

class CPTrip

A journey consisting of an origin, a destination, and route choices.

class CPManeuver

A maneuver containing navigation instructions and distance from the previous maneuver.


class CPSessionConfiguration

A session configuration object that receives notifications when the car limits user interface elements.

Beta Software

This documentation contains preliminary information about an API or technology in development. This information is subject to change, and software implemented according to this documentation should be tested with final operating system software.

Learn more about using Apple's beta software