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.

CarPlay Application Delegate

class CPWindow

The main window for content presented on the car screen.

protocol CPApplicationDelegate

The interface for handling CarPlay life cycle events.

CarPlay Navigation App UI Elements

CarPlay navigation apps are built from a fixed set of UI templates that iOS renders on the CarPlay screen.

class CPMapTemplate

The base template for your CarPlay navigation app will always be a map template.

class CPListTemplate

A hierarchical list of menu items can be displayed on the CarPlay screen using a list template.

class CPGridTemplate

A grid of menu items can be displayed on the CarPlay screen using a grid template.

class CPSearchTemplate

The search results for a given destination can be displayed on the CarPlay screen using a search template.

Route Guidance

class CPNavigationSession

Information about a navigation session is provided by the navigation session.

class CPTrip

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

class CPManeuver

Navigation instructions and distance from the previous maneuver.

Templates and Alerts


Display lists, grids, alerts and other user interface elements using templates.

class CPSessionConfiguration

The session configuration for notifications when the car limits user interface elements.

class CPAlertAction

An action displayed on an alert as a button.