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.
- PrCPApplicationDelegateA set of methods that are called by the @c UIApplication singleton in response to CarPlay lifecycle events.
- ClCPTemplateApplicationSceneiOS 13.0+A scene that connects your template-based app to the main CarPlay screen.
- ClCPTemplateApplicationDashboardSceneiOS 13.4+A scene that hosts your app's content on the CarPlay Dashboard.
- PrCPTemplateApplicationDashboardSceneDelegateiOS 13.4+A protocol for managing the lifecycle of a Dashboard scene.
- ClCPTemplateApplicationInstrumentClusterSceneiOS 15.4+A scene that hosts your app's content in the instrument cluster.
- ClCPSessionConfigurationiOS 12.0+An object that reports the current limitations and state of the CarPlay session.
- ClCPWindowiOS 12.0+@c CPWindow is the main window for content presented on the car screen.
- ClCPVoiceControlStateiOS 12.0+@c CPVoiceControlState encapsulates the title variants and image(s) for a single voice control
- StCPLimitableUserInterfaceiOS 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.
- ClCPListSectioniOS 12.0+@c CPListSection models a single section of items appearing in a @c CPListTemplate.
- PrCPListTemplateItemiOS 14.0+@c CPListTemplateItem describes common properties of list items that can be displayed
- PrCPSelectableListItemiOS 14.0+@c CPListSelectable describes list items that accept a list item handler, called when
- PrCPListTemplateDelegateA protocol for responding to selections within a list template.
- ClCPInformationItemiOS 14.0+A title-and-detail row displayed in an information template.
- ClCPInformationRatingItemiOS 14.0+An information row that shows a numeric or star rating value.
- EnCPListItemAccessoryTypeiOS 14.0+Constants that specify the accessory shown on a list item.
- EnCPListItemPlayingIndicatorLocationiOS 14.0+Constants that specify where a playing indicator appears on a list item.
- EnCPInformationTemplateLayoutiOS 14.0+Constants that specify the layout of an information template.
- StCPContentStyleiOS 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.
- ClCPBarButtoniOS 12.0+A button for placement in a navigation bar.
- PrCPBarButtonProvidingiOS 12.0+A protocol for templates that can supply leading and trailing bar buttons.
- ClCPButtoniOS 14.0+A button you place on a point-of-interest or map panel surface.
- ClCPGridButtoniOS 12.0+A button that appears as a tile within a grid template.
- ClCPTextButtoniOS 14.0+A text-only button used within panels and map surfaces.
- ClCPAlertActioniOS 12.0+@c CPAlertAction represents a single action that appears inside of a @c CPActionSheetTemplate or @c CPAlertTemplate.
- ClCPMessageComposeBarButtoniOS 14.0+A bar button that lets the user compose a new message.
- ClCPMessageGridItemConfigurationiOS 26.0+@c CPMessageGridItemConfiguration encapsulates the message configuration options for the grid item.
- EnCPBarButtonStyleiOS 14.0+Specifies the style used to display a @c CPBarButton.
- EnCPTextButtonStyleiOS 14.0+Constants that specify the visual style of a text button.
- ClCPImageSetiOS 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.
- ClCPTripiOS 12.0+@c CPTrip represents an origin and destination with route choices.
- ClCPRouteChoiceiOS 12.0+@c CPRouteChoice describes a possible route for a @c CPTrip.
- ClCPRouteInformationiOS 17.4+An object that summarizes details about a navigation route.
- ClCPRouteSegmentiOS 26.4+CPRouteSegment describes information pertaining to a segment of a route.
- ClCPTravelEstimatesiOS 12.0+@c CPTravelEstimates describes the time and distance remaining for the active navigation session.
- ClCPNavigationWaypointiOS 26.4+CPNavigationWaypoint represents a point of interest along a route that provides location-based information and guidance.
- ClCPMapTemplateWaypointiOS 26.4+CPMapTemplateWaypoint represents a waypoint with associated travel estimates
- ClCPMultiStopCardConfigurationiOS 27.0+A configuration describing a card that previews a trip with multiple stops.
- ClCPTripPreviewTextConfigurationiOS 12.0+A configuration that customizes the text shown when previewing a trip.
- StCPLocationCoordinate3DiOS 26.4+CPLocationCoordinate3D represents a three-dimensional coordinate with latitude, longitude, and altitude components.
- EnCPTripEstimateStyleiOS 12.0+Constants that specify the visual style of trip estimates.
- EnCPTimeRemainingColoriOS 12.0+Constants that specify the color used to display remaining time.
- EnCPRerouteReasoniOS 26.4+Reasons why a reroute was triggered during navigation.
- EnCPRouteSourceiOS 26.4+@enum CPRouteSource
Maneuvers and Lane Guidance 9
Convey turn-by-turn maneuvers, junctions, and lane guidance to the driver.
- ClCPManeuveriOS 12.0+@c CPManeuver describes a navigation instruction.
- ClCPLaneiOS 17.4+@c CPLane represents information about a single lane.
- ClCPLaneGuidanceiOS 17.4+@c CPLaneGuidance represents guidance to give the user which lane or lanes are preferred.
- EnCPManeuverTypeiOS 17.4+Constants that identify the type of a navigation maneuver.
- EnCPManeuverStateiOS 17.4+Constants that describe the current state of a maneuver.
- StCPManeuverDisplayStyleiOS 12.0+A structure of options that control how a maneuver is displayed.
- EnCPLaneStatusiOS 17.4+Constants that describe whether a lane is preferred, allowed, or not allowed.
- EnCPJunctionTypeiOS 17.4+Constants that identify the type of a road junction.
- EnCPTrafficSideiOS 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.
- ClCPMapPaneliOS 27.0+An interactive panel attached to the map surface in a navigation app.
- ClCPMapPanelItemiOS 27.0+An item displayed within a map panel section.
- ClCPMapPanelSectioniOS 27.0+@c CPPanelListSection describes a section within a map template overlay page.
- ClCPMapPanelButtonConfigurationiOS 27.0+A configuration that defines a button shown within a map panel.
- ClCPPaneliOS 27.0+A panel that presents supplemental items alongside a template.
- ClCPPanelItemiOS 27.0+@c CPPanelItem is the base class for all items that can be displayed within a panel section.
- ClCPPanelButtonConfigurationiOS 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.
- ClCPDashboardControlleriOS 13.4+An object that manages your app's content on the CarPlay Dashboard.
- ClCPDashboardButtoniOS 13.4+A button you add to the CarPlay Dashboard widget area.
- ClCPInstrumentClusterControlleriOS 15.4+An object that manages your app's content shown in the instrument cluster.
- PrCPInstrumentClusterControllerDelegateiOS 15.4+A protocol for responding to instrument-cluster lifecycle and zoom events.
- EnCPInstrumentClusterSettingiOS 15.4+Constants that specify display settings for the instrument cluster.
Contacts and Messaging 9
Present contacts, call and message actions, and message lists.
- ClCPContactiOS 14.0+An object that represents a contact, with associated call, message, and directions actions.
- ClCPContactCallButtoniOS 14.0+A button that initiates a phone call to a contact.
- ClCPContactMessageButtoniOS 14.0+A button that starts a message conversation with a contact.
- ClCPContactDirectionsButtoniOS 14.0+A button that requests directions to a contact's location.
- ClCPMessageListItemiOS 14.0+@c CPMessageListItem is a special variant of a list item for use in a @c CPListTemplate.
- ClCPMessageListItemLeadingConfigurationiOS 14.0+@c CPMessageListItemLeadingConfiguration encapsulates the configuration options for
- ClCPMessageListItemTrailingConfigurationiOS 14.0+@c CPMessageListItemTrailingConfiguration encapsulates the configuration options for
- EnCPMessageLeadingItemTypes of glyphs that may appear in the leading region of a message cell.
- EnCPMessageTrailingItemTypes 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.
- PrCPNowPlayingTemplateObserveriOS 14.0+A protocol for observing changes to the Now Playing template.
- PrCPPlayableItemiOS 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.
- ClCPPointOfInterestiOS 14.0+An object that represents a place of interest shown on the map.
- ClCPChargingStationConnectioniOS 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.
- ClCPAssistantCellConfigurationiOS 15.0+@c CPAssistantCellConfiguration encapsulates the configuration options for your assistant cell.
- EnCPAssistantCellActionTypeiOS 15.0+Constants that specify the action an assistant cell performs.
Classes 44
- ClCPActionSheetTemplateiOS 12.0+@c CPActionSheetTemplate represents an action sheet that must be dismissed with a button press
- ClCPAlertTemplateiOS 12.0+@c CPAlertTemplate represents a modal alert that must be dismissed with a button press
- ClCPContactTemplateiOS 14.0+
- ClCPGridTemplateiOS 12.0+
- ClCPImageOverlayiOS 26.4+An overlay that displays information over an image.
- ClCPInformationTemplateiOS 14.0+
- ClCPInterfaceControlleriOS 12.0+
- ClCPListImageRowItemiOS 14.0+
- ClCPListImageRowItemCardElementiOS 26.0+
- ClCPListImageRowItemCondensedElementiOS 26.0+
- ClCPListImageRowItemElementiOS 26.0+Abstract superclass for a a row item element object.
- ClCPListImageRowItemGridElementiOS 26.0+
- ClCPListImageRowItemImageGridElementiOS 26.0+
- ClCPListImageRowItemRowElementiOS 26.0+
- ClCPListItemiOS 12.0+@c CPListItem describes a single object appearing in a list template.
- ClCPListTemplateiOS 12.0+
Show 28 more
- ClCPListTemplateDetailsHeaderiOS 26.4+A header for list templates that displays rich media content with action buttons.
- ClCPMapButtoniOS 12.0+
- ClCPMapTemplateiOS 12.0+
- ClCPNavigationAlertiOS 12.0+@c CPNavigationAlert is a banner alert that can display map or navigation-related information to the user.
- ClCPNavigationSessioniOS 12.0+@c CPNavigationSession represents the active navigation session. A @c CPNavigationSession will be created for you
- ClCPNowPlayingButtoniOS 14.0+
- ClCPNowPlayingShuffleButtoniOS 14.0+A now playing button that indicates the current shuffle mode for your app.
- ClCPNowPlayingAddToLibraryButtoniOS 14.0+A now playing button that can be used to allow the user to add the current
- ClCPNowPlayingMoreButtoniOS 14.0+A now playing button that shows a callout-style action. For example,
- ClCPNowPlayingPlaybackRateButtoniOS 14.0+A now playing button that shows the current playback rate and allows
- ClCPNowPlayingRepeatButtoniOS 14.0+A now playing button that shows the current repeat state, like "once"
- ClCPNowPlayingImageButtoniOS 14.0+A now playing button that shows a custom image provided by your app
- ClCPNowPlayingModeiOS 18.4+
- ClCPNowPlayingModeSportsiOS 18.4+The sports mode represents a layout for now playing suited to live-streaming or
- ClCPNowPlayingSportsTeamiOS 18.4+A representation of a sports team for the now playing screen,
- ClCPNowPlayingSportsEventStatusiOS 18.4+A representation of the status of a sporting event.
- ClCPNowPlayingSportsClockiOS 18.4+A representation of the amount of time elapsed so far in this event,
- ClCPNowPlayingSportsTeamLogoiOS 18.4+A logo image or, if no image is available, an abbreviation
- ClCPNowPlayingTemplateiOS 14.0+
- ClCPPlaybackConfigurationiOS 26.4+@c CPPlaybackConfiguration represents the playback status of the media content that is represented by template items.
- ClCPPointOfInterestTemplateiOS 14.0+
- ClCPRouteDetailiOS 27.0+@c CPRouteDetail provides additional contextual information about a route that can be displayed
- ClCPSearchTemplateiOS 12.0+
- ClCPSportsOverlayiOS 26.4+A sports overlay that displays left and right team information.
- ClCPTabBarTemplateiOS 14.0+
- ClCPTemplateiOS 12.0+Abstract superclass for a template object.
- ClCPThumbnailImageiOS 26.4+
- ClCPVoiceControlTemplateiOS 12.0+
Protocols 8
- PrCPInterfaceControllerDelegateiOS 12.0+CPInterfaceControllerDelegate allows your app to observe template visibility lifecycles for
- PrCPMapTemplateDelegateiOS 12.0+
- PrCPPointOfInterestTemplateDelegateiOS 14.0+
- PrCPSearchTemplateDelegateiOS 12.0+
- PrCPSessionConfigurationDelegateiOS 12.0+
- PrCPTabBarTemplateDelegateiOS 14.0+
- PrCPTemplateApplicationInstrumentClusterSceneDelegateiOS 15.4+
- PrCPTemplateApplicationSceneDelegateiOS 13.0+
Type Aliases 2
- TyCPAlertActionHandler
- TyCPBarButtonHandler