TechnologiesUI & App Frameworks

CarPlay

iOSmacOStvOSwatchOSvisionOS

CarPlay lets you present your iOS app's navigation, audio, communication, and other interfaces on the in-car CarPlay screen using a set of fixed templates. You adopt CPApplicationDelegate to connect to the CarPlay scene, then populate templates with items such as CPListSection and CPListTemplateItem and respond to selections through delegates like CPListTemplateDelegate. For navigation apps you describe routes and turns with types like CPManeuver, CPLane and CPLaneGuidance, and drive a map surface through CPMapPanel, while controls such as CPBarButton, CPGridButton, and CPDashboardController build out the surrounding interface.

App Connection and Scenes 9

Connect your app to the CarPlay screen and manage its scene lifecycle.

  • Pr
    CPApplicationDelegate
    A set of methods that are called by the @c UIApplication singleton in response to CarPlay lifecycle events.
  • Cl
    CPTemplateApplicationSceneiOS 13.0+
    A scene that connects your template-based app to the main CarPlay screen.
  • Cl
    CPTemplateApplicationDashboardSceneiOS 13.4+
    A scene that hosts your app's content on the CarPlay Dashboard.
  • Pr
    CPTemplateApplicationDashboardSceneDelegateiOS 13.4+
    A protocol for managing the lifecycle of a Dashboard scene.
  • Cl
    CPTemplateApplicationInstrumentClusterSceneiOS 15.4+
    A scene that hosts your app's content in the instrument cluster.
  • Cl
    CPSessionConfigurationiOS 12.0+
    An object that reports the current limitations and state of the CarPlay session.
  • Cl
    CPWindowiOS 12.0+
    @c CPWindow is the main window for content presented on the car screen.
  • Cl
    CPVoiceControlStateiOS 12.0+
    @c CPVoiceControlState encapsulates the title variants and image(s) for a single voice control
  • St
    CPLimitableUserInterfaceiOS 12.0+
    A structure of option flags identifying interface elements the car may limit.

Lists and Information 10

Present scrollable lists and information panels of selectable content.

  • Cl
    CPListSectioniOS 12.0+
    @c CPListSection models a single section of items appearing in a @c CPListTemplate.
  • Pr
    CPListTemplateItemiOS 14.0+
    @c CPListTemplateItem describes common properties of list items that can be displayed
  • Pr
    CPSelectableListItemiOS 14.0+
    @c CPListSelectable describes list items that accept a list item handler, called when
  • Pr
    CPListTemplateDelegate
    A protocol for responding to selections within a list template.
  • Cl
    CPInformationItemiOS 14.0+
    A title-and-detail row displayed in an information template.
  • Cl
    CPInformationRatingItemiOS 14.0+
    An information row that shows a numeric or star rating value.
  • En
    CPListItemAccessoryTypeiOS 14.0+
    Constants that specify the accessory shown on a list item.
  • En
    CPListItemPlayingIndicatorLocationiOS 14.0+
    Constants that specify where a playing indicator appears on a list item.
  • En
    CPInformationTemplateLayoutiOS 14.0+
    Constants that specify the layout of an information template.
  • St
    CPContentStyleiOS 13.0+
    A structure of options that specify the visual content style of a template.

Buttons and Controls 11

Build the bars, grids, and action buttons that surround a template.

  • Cl
    CPBarButtoniOS 12.0+
    A button for placement in a navigation bar.
  • Pr
    CPBarButtonProvidingiOS 12.0+
    A protocol for templates that can supply leading and trailing bar buttons.
  • Cl
    CPButtoniOS 14.0+
    A button you place on a point-of-interest or map panel surface.
  • Cl
    CPGridButtoniOS 12.0+
    A button that appears as a tile within a grid template.
  • Cl
    CPTextButtoniOS 14.0+
    A text-only button used within panels and map surfaces.
  • Cl
    CPAlertActioniOS 12.0+
    @c CPAlertAction represents a single action that appears inside of a @c CPActionSheetTemplate or @c CPAlertTemplate.
  • Cl
    CPMessageComposeBarButtoniOS 14.0+
    A bar button that lets the user compose a new message.
  • Cl
    CPMessageGridItemConfigurationiOS 26.0+
    @c CPMessageGridItemConfiguration encapsulates the message configuration options for the grid item.
  • En
    CPBarButtonStyleiOS 14.0+
    Specifies the style used to display a @c CPBarButton.
  • En
    CPTextButtonStyleiOS 14.0+
    Constants that specify the visual style of a text button.
  • Cl
    CPImageSetiOS 12.0+
    A pair of images for use in light and dark CarPlay appearances.

Navigation, Routes, and Trips 14

Describe routes, trips, and travel estimates for navigation apps.

  • Cl
    CPTripiOS 12.0+
    @c CPTrip represents an origin and destination with route choices.
  • Cl
    CPRouteChoiceiOS 12.0+
    @c CPRouteChoice describes a possible route for a @c CPTrip.
  • Cl
    CPRouteInformationiOS 17.4+
    An object that summarizes details about a navigation route.
  • Cl
    CPRouteSegmentiOS 26.4+
    CPRouteSegment describes information pertaining to a segment of a route.
  • Cl
    CPTravelEstimatesiOS 12.0+
    @c CPTravelEstimates describes the time and distance remaining for the active navigation session.
  • Cl
    CPNavigationWaypointiOS 26.4+
    CPNavigationWaypoint represents a point of interest along a route that provides location-based information and guidance.
  • Cl
    CPMapTemplateWaypointiOS 26.4+
    CPMapTemplateWaypoint represents a waypoint with associated travel estimates
  • Cl
    CPMultiStopCardConfigurationiOS 27.0+
    A configuration describing a card that previews a trip with multiple stops.
  • Cl
    CPTripPreviewTextConfigurationiOS 12.0+
    A configuration that customizes the text shown when previewing a trip.
  • St
    CPLocationCoordinate3DiOS 26.4+
    CPLocationCoordinate3D represents a three-dimensional coordinate with latitude, longitude, and altitude components.
  • En
    CPTripEstimateStyleiOS 12.0+
    Constants that specify the visual style of trip estimates.
  • En
    CPTimeRemainingColoriOS 12.0+
    Constants that specify the color used to display remaining time.
  • En
    CPRerouteReasoniOS 26.4+
    Reasons why a reroute was triggered during navigation.
  • En
    CPRouteSourceiOS 26.4+
    @enum CPRouteSource

Maneuvers and Lane Guidance 9

Convey turn-by-turn maneuvers, junctions, and lane guidance to the driver.

  • Cl
    CPManeuveriOS 12.0+
    @c CPManeuver describes a navigation instruction.
  • Cl
    CPLaneiOS 17.4+
    @c CPLane represents information about a single lane.
  • Cl
    CPLaneGuidanceiOS 17.4+
    @c CPLaneGuidance represents guidance to give the user which lane or lanes are preferred.
  • En
    CPManeuverTypeiOS 17.4+
    Constants that identify the type of a navigation maneuver.
  • En
    CPManeuverStateiOS 17.4+
    Constants that describe the current state of a maneuver.
  • St
    CPManeuverDisplayStyleiOS 12.0+
    A structure of options that control how a maneuver is displayed.
  • En
    CPLaneStatusiOS 17.4+
    Constants that describe whether a lane is preferred, allowed, or not allowed.
  • En
    CPJunctionTypeiOS 17.4+
    Constants that identify the type of a road junction.
  • En
    CPTrafficSideiOS 17.4+
    Constants that indicate the side of the road traffic drives on.

Map Panels 7

Add interactive panels and items to the map surface.

  • Cl
    CPMapPaneliOS 27.0+
    An interactive panel attached to the map surface in a navigation app.
  • Cl
    CPMapPanelItemiOS 27.0+
    An item displayed within a map panel section.
  • Cl
    CPMapPanelSectioniOS 27.0+
    @c CPPanelListSection describes a section within a map template overlay page.
  • Cl
    CPMapPanelButtonConfigurationiOS 27.0+
    A configuration that defines a button shown within a map panel.
  • Cl
    CPPaneliOS 27.0+
    A panel that presents supplemental items alongside a template.
  • Cl
    CPPanelItemiOS 27.0+
    @c CPPanelItem is the base class for all items that can be displayed within a panel section.
  • Cl
    CPPanelButtonConfigurationiOS 27.0+
    @c CPPanelButtonConfiguration describes the button configuration for

Dashboard and Instrument Cluster 5

Provide content for the CarPlay Dashboard and the instrument cluster display.

  • Cl
    CPDashboardControlleriOS 13.4+
    An object that manages your app's content on the CarPlay Dashboard.
  • Cl
    CPDashboardButtoniOS 13.4+
    A button you add to the CarPlay Dashboard widget area.
  • Cl
    CPInstrumentClusterControlleriOS 15.4+
    An object that manages your app's content shown in the instrument cluster.
  • Pr
    CPInstrumentClusterControllerDelegateiOS 15.4+
    A protocol for responding to instrument-cluster lifecycle and zoom events.
  • En
    CPInstrumentClusterSettingiOS 15.4+
    Constants that specify display settings for the instrument cluster.

Contacts and Messaging 9

Present contacts, call and message actions, and message lists.

  • Cl
    CPContactiOS 14.0+
    An object that represents a contact, with associated call, message, and directions actions.
  • Cl
    CPContactCallButtoniOS 14.0+
    A button that initiates a phone call to a contact.
  • Cl
    CPContactMessageButtoniOS 14.0+
    A button that starts a message conversation with a contact.
  • Cl
    CPContactDirectionsButtoniOS 14.0+
    A button that requests directions to a contact's location.
  • Cl
    CPMessageListItemiOS 14.0+
    @c CPMessageListItem is a special variant of a list item for use in a @c CPListTemplate.
  • Cl
    CPMessageListItemLeadingConfigurationiOS 14.0+
    @c CPMessageListItemLeadingConfiguration encapsulates the configuration options for
  • Cl
    CPMessageListItemTrailingConfigurationiOS 14.0+
    @c CPMessageListItemTrailingConfiguration encapsulates the configuration options for
  • En
    CPMessageLeadingItem
    Types of glyphs that may appear in the leading region of a message cell.
  • En
    CPMessageTrailingItem
    Types of glyphs that may appear in the trailing region of a message cell.

Now Playing and Audio 2

Observe the Now Playing template and supply playable audio items.

  • Pr
    CPNowPlayingTemplateObserveriOS 14.0+
    A protocol for observing changes to the Now Playing template.
  • Pr
    CPPlayableItemiOS 26.4+
    A protocol adopted by items that represent playable audio content.

Points of Interest and Charging 2

Surface points of interest and electric-vehicle charging information.

  • Cl
    CPPointOfInterestiOS 14.0+
    An object that represents a place of interest shown on the map.
  • Cl
    CPChargingStationConnectioniOS 27.0+
    An object describing an electric-vehicle charging connector available at a station.

Siri Assistant Cells 2

Configure assistant cells that invoke Siri-driven actions in lists.

  • Cl
    CPAssistantCellConfigurationiOS 15.0+
    @c CPAssistantCellConfiguration encapsulates the configuration options for your assistant cell.
  • En
    CPAssistantCellActionTypeiOS 15.0+
    Constants that specify the action an assistant cell performs.

Classes 44

  • Cl
    CPActionSheetTemplateiOS 12.0+
    @c CPActionSheetTemplate represents an action sheet that must be dismissed with a button press
  • Cl
    CPAlertTemplateiOS 12.0+
    @c CPAlertTemplate represents a modal alert that must be dismissed with a button press
  • Cl
    CPContactTemplateiOS 14.0+
  • Cl
    CPGridTemplateiOS 12.0+
  • Cl
    CPImageOverlayiOS 26.4+
    An overlay that displays information over an image.
  • Cl
    CPInformationTemplateiOS 14.0+
  • Cl
    CPInterfaceControlleriOS 12.0+
  • Cl
    CPListImageRowItemiOS 14.0+
  • Cl
    CPListImageRowItemCardElementiOS 26.0+
  • Cl
    CPListImageRowItemCondensedElementiOS 26.0+
  • Cl
    CPListImageRowItemElementiOS 26.0+
    Abstract superclass for a a row item element object.
  • Cl
    CPListImageRowItemGridElementiOS 26.0+
  • Cl
    CPListImageRowItemImageGridElementiOS 26.0+
  • Cl
    CPListImageRowItemRowElementiOS 26.0+
  • Cl
    CPListItemiOS 12.0+
    @c CPListItem describes a single object appearing in a list template.
  • Cl
    CPListTemplateiOS 12.0+
Show 28 more
  • Cl
    CPListTemplateDetailsHeaderiOS 26.4+
    A header for list templates that displays rich media content with action buttons.
  • Cl
    CPMapButtoniOS 12.0+
  • Cl
    CPMapTemplateiOS 12.0+
  • Cl
    CPNavigationAlertiOS 12.0+
    @c CPNavigationAlert is a banner alert that can display map or navigation-related information to the user.
  • Cl
    CPNavigationSessioniOS 12.0+
    @c CPNavigationSession represents the active navigation session. A @c CPNavigationSession will be created for you
  • Cl
    CPNowPlayingButtoniOS 14.0+
  • Cl
    CPNowPlayingShuffleButtoniOS 14.0+
    A now playing button that indicates the current shuffle mode for your app.
  • Cl
    CPNowPlayingAddToLibraryButtoniOS 14.0+
    A now playing button that can be used to allow the user to add the current
  • Cl
    CPNowPlayingMoreButtoniOS 14.0+
    A now playing button that shows a callout-style action. For example,
  • Cl
    CPNowPlayingPlaybackRateButtoniOS 14.0+
    A now playing button that shows the current playback rate and allows
  • Cl
    CPNowPlayingRepeatButtoniOS 14.0+
    A now playing button that shows the current repeat state, like "once"
  • Cl
    CPNowPlayingImageButtoniOS 14.0+
    A now playing button that shows a custom image provided by your app
  • Cl
    CPNowPlayingModeiOS 18.4+
  • Cl
    CPNowPlayingModeSportsiOS 18.4+
    The sports mode represents a layout for now playing suited to live-streaming or
  • Cl
    CPNowPlayingSportsTeamiOS 18.4+
    A representation of a sports team for the now playing screen,
  • Cl
    CPNowPlayingSportsEventStatusiOS 18.4+
    A representation of the status of a sporting event.
  • Cl
    CPNowPlayingSportsClockiOS 18.4+
    A representation of the amount of time elapsed so far in this event,
  • Cl
    CPNowPlayingSportsTeamLogoiOS 18.4+
    A logo image or, if no image is available, an abbreviation
  • Cl
    CPNowPlayingTemplateiOS 14.0+
  • Cl
    CPPlaybackConfigurationiOS 26.4+
    @c CPPlaybackConfiguration represents the playback status of the media content that is represented by template items.
  • Cl
    CPPointOfInterestTemplateiOS 14.0+
  • Cl
    CPRouteDetailiOS 27.0+
    @c CPRouteDetail provides additional contextual information about a route that can be displayed
  • Cl
    CPSearchTemplateiOS 12.0+
  • Cl
    CPSportsOverlayiOS 26.4+
    A sports overlay that displays left and right team information.
  • Cl
    CPTabBarTemplateiOS 14.0+
  • Cl
    CPTemplateiOS 12.0+
    Abstract superclass for a template object.
  • Cl
    CPThumbnailImageiOS 26.4+
  • Cl
    CPVoiceControlTemplateiOS 12.0+

Protocols 8

  • Pr
    CPInterfaceControllerDelegateiOS 12.0+
    CPInterfaceControllerDelegate allows your app to observe template visibility lifecycles for
  • Pr
    CPMapTemplateDelegateiOS 12.0+
  • Pr
    CPPointOfInterestTemplateDelegateiOS 14.0+
  • Pr
    CPSearchTemplateDelegateiOS 12.0+
  • Pr
    CPSessionConfigurationDelegateiOS 12.0+
  • Pr
    CPTabBarTemplateDelegateiOS 14.0+
  • Pr
    CPTemplateApplicationInstrumentClusterSceneDelegateiOS 15.4+
  • Pr
    CPTemplateApplicationSceneDelegateiOS 13.0+

Type Aliases 2

  • Ty
    CPAlertActionHandler
  • Ty
    CPBarButtonHandler

Extends 1

UISceneSession
← UI & App Frameworks