What's New / Connectivity & Hardware

What's new in CarPlay

+38 New~3 DeprecatediOS

CarPlay is Apple's framework for apps that run on a vehicle's built-in display. The app sends templates and panels to the car's screen and handles input from the dashboard, registering a scene delegate and driving the interface through CPInterfaceController template presentation.

The 27 SDK adds 38 APIs and deprecates 3. New surface includes a Delegate protocol and overlay/panel presentation calls: showOverlayTemplate, hideOverlayTemplate, showPanel, and pushPanel, plus actions and travelEstimates. The deprecated members are name, address, and destinationNameVariants. Nothing was removed.

New

38
var

actions

NewiOS
open var actions: [CPAlertAction] { get }
var

addressVariants

NewiOS
open var addressVariants: [String] { get }
var

alertImage

NewiOS
open var alertImage: UIImage? { get }
var

allowsMiniPlayer

NewiOS
open var allowsMiniPlayer: Bool
var

avatarImage

NewiOS
open var avatarImage: UIImage? { get }
var

backgroundImage

NewiOS
open var backgroundImage: UIImage? { get }
func

hideOverlayTemplate

NewiOS
open func hideOverlayTemplate(animated: Bool, completion: ((Bool, (any Error)?) -> Void)? = nil)
func

hideOverlayTemplate

NewiOS
open func hideOverlayTemplate(animated: Bool) async throws -> Bool
func

hidePanel

NewiOS
open func hidePanel(completion: ((Bool, (any Error)?) -> Void)? = nil)
func

hidePanel

NewiOS
open func hidePanel() async throws -> Bool
init

init

NewiOS
public init(titleVariants: [String], subtitleVariants: [String], avatarImage: UIImage?, alert alertImage: UIImage?, actions: [CPAlertAction], duration: TimeInterval)
init

init

NewiOS
public init(distanceRemaining: Measurement<UnitLength>, distanceRemainingToDisplay: Measurement<UnitLength>, timeRemaining time: TimeInterval, routeDetails: [CPRouteDetail])
init

init

NewiOS
public init(summaryVariants: [String], additionalInformationVariants: [String], selectionSummaryVariants: [String], travelEstimates: CPTravelEstimates?)
init

init

NewiOS
public init(identifier: String, titleVariants: [String]?, image: UIImage?, backgroundImage: UIImage?, repeats: Bool)
var

maximumActionsCount

NewiOS
open class var maximumActionsCount: Int { get }
var

maximumAlertImageSize

NewiOS
open class var maximumAlertImageSize: CGSize { get }
var

maximumAvatarImageSize

NewiOS
open class var maximumAvatarImageSize: CGSize { get }
func

maximumImageSize

NewiOS
open class func maximumImageSize(forAspectRatio aspectRatio: CGFloat) -> CGSize
var

nameVariants

NewiOS
open var nameVariants: [String] { get }
var

optionsPanel

NewiOS
open var optionsPanel: CPMapPanel?
func

popPanel

NewiOS
open func popPanel(completion: ((Bool, (any Error)?) -> Void)? = nil)
func

popPanel

NewiOS
open func popPanel() async throws -> Bool
func

pushPanel

NewiOS
open func pushPanel(_ panel: CPMapPanel, completion: ((Bool, (any Error)?) -> Void)? = nil)
func

pushPanel

NewiOS
open func pushPanel(_ panel: CPMapPanel) async throws -> Bool
func

resumeNavigation

NewiOS
open func resumeNavigation(updatedTrip trip: CPTrip, routeSegments: [CPRouteSegment], currentSegment: CPRouteSegment, rerouteReason: CPRerouteReason)
var

routeDetails

NewiOS
open var routeDetails: [CPRouteDetail] { get }
func

showOverlayTemplate

NewiOS
open func showOverlayTemplate(_ templateToShow: CPTemplate, animated: Bool, completion: ((Bool, (any Error)?) -> Void)? = nil)
func

showOverlayTemplate

NewiOS
open func showOverlayTemplate(_ templateToShow: CPTemplate, animated: Bool) async throws -> Bool
func

showPanel

NewiOS
open func showPanel(_ panel: CPMapPanel, completion: ((Bool, (any Error)?) -> Void)? = nil)
func

showPanel

NewiOS
open func showPanel(_ panel: CPMapPanel) async throws -> Bool
var

travelEstimates

NewiOS
open var travelEstimates: CPTravelEstimates? { get }
func

updateTitleVariants

NewiOS
open func updateTitleVariants(_ newTitleVariants: [String], subtitleVariants newSubtitleVariants: [String], avatarImage: UIImage?, alert alertImage: UIImage?, actions: [CPAlertAction], duration: TimeInterval)
protocol

CPMapPanel.Delegate

NewiOS
public protocol Delegate : NSObjectProtocol
Declaration
public protocol Delegate : NSObjectProtocol {

    optional func panelDidShow(_ panel: CPMapPanel)

    optional func panelDidHide(_ panel: CPMapPanel)
}
func

CPMapTemplateDelegate.mapTemplate

NewiOS
optional func mapTemplate(_ mapTemplate: CPMapTemplate, didRequestToRemove waypoint: CPNavigationWaypoint)
func

CPMapTemplateDelegate.mapTemplate

NewiOS
optional func mapTemplate(_ mapTemplate: CPMapTemplate, didRequestToRemoveDestination waypoint: CPNavigationWaypoint)
func

CPMapTemplateDelegate.mapTemplate

NewiOS
optional func mapTemplate(_ mapTemplate: CPMapTemplate, didRequestMultiStopCardConfigurationWithCompletion completion: @escaping (CPMultiStopCardConfiguration) -> Void)
func

CPMapTemplateDelegate.mapTemplateShouldProvideMultiStopRouting

NewiOS
optional func mapTemplateShouldProvideMultiStopRouting(_ mapTemplate: CPMapTemplate) -> Bool
func

CPMapTemplateDelegate.multiStopCardConfigurationForMapTemplate

NewiOS
optional func multiStopCardConfigurationForMapTemplate(_ mapTemplate: CPMapTemplate) async -> CPMultiStopCardConfiguration

Deprecated

3
var

address

DeprecatediOS
open var address: String? { get }
var

destinationNameVariants

DeprecatediOS
open var destinationNameVariants: [String]?
var

name

DeprecatediOS
open var name: String? { get }

No APIs match your filter.

← More in Connectivity & Hardware