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 SiriKit support to allow someone to read or send messages. VoIP apps can use CallKit to manage incoming and outgoing calls, often in combination with SiriKit call support. Navigation apps can include MapKit support.
Topics
CarPlay Integration
Requesting CarPlay EntitlementsDisplaying Content in CarPlaySupporting Previous Versions of iOSUsing the CarPlay SimulatorCPTemplateApplicationSceneCPTemplateApplicationSceneDelegateCPSessionConfiguration
General Purpose Templates
Audio
Instrument cluster
CPInstrumentClusterControllerCPInstrumentClusterControllerDelegateCPTemplateApplicationInstrumentClusterSceneCPTemplateApplicationInstrumentClusterSceneDelegate
Navigation
Integrating CarPlay with Your Navigation AppCPTemplateApplicationDashboardSceneCPTemplateApplicationDashboardSceneDelegateCPMapTemplateCPSearchTemplateCPVoiceControlTemplate
Location and Information
CPPointOfInterestTemplateCPInformationTemplateCPTextButtonIntegrating CarPlay with your quick-ordering app
Maneuvers
Routes, lanes and junctions
Communication
Actions and Alerts
Related Types
Deprecated
Reference
Classes
CPImageOverlayCPListImageRowItemCardElementCPListImageRowItemCondensedElementCPListImageRowItemElementCPListImageRowItemGridElementCPListImageRowItemImageGridElementCPListImageRowItemRowElementCPListTemplateDetailsHeaderCPMapTemplateWaypointCPMessageGridItemConfigurationCPNavigationWaypointCPNowPlayingModeCPNowPlayingModeSportsCPNowPlayingSportsClockCPNowPlayingSportsEventStatusCPNowPlayingSportsTeamCPNowPlayingSportsTeamLogoCPPlaybackConfigurationCPRouteSegmentCPSportsOverlayCPThumbnailImage
Protocols
Structures
Variables
Functions
NSStringFromCPJunctionType(_:)NSStringFromCPLaneStatus(_:)NSStringFromCPManeuverType(_:)NSStringFromCPRerouteReason(_:)NSStringFromCPTrafficSide(_:)