Adopt the CarPlay framework to enable your app on a driver's screen, whether the car supports CarPlay or CarPlay Ultra.

Documentation

Posts under CarPlay subtopic

Post

Replies

Boosts

Views

Activity

Wireless CarPlay pairing flow — carkitd exits before [connect CarPlay] on initial pairing (iOS26.5 / 23F77)
We are investigating a wireless CarPlay connection failure between our vehicle headunit and iPhone, and have identified a suspicious pattern in the carkitd pairing flow through analysis of iPhone sysdiagnose logs. As we have been unable to fully interpret certain behaviors on our own, we would greatly appreciate any guidance or clarification Apple could provide. The original sysdiagnose log file is available upon request. Failure case — UTC 07:14 07:14:25 [carkitd] Transitioning: [started] → [Bluetooth confirmation] 07:14:26 [carkitd] Transitioning: [Bluetooth confirmation] → [Bluetooth contacts sync] 07:14:27 [carkitd] Transitioning: [Bluetooth contacts sync] → [waiting on messaging connection] 07:14:32 [carkitd] Consolidated ... CARiAPAuthComplete payload for event type 5 07:14:32 [accessoryd] sending EAAccessoryArrived to carkitd for accessory: Ioniq5566 07:14:32 [carkitd] updated partial session (null) (hasAccessory = NO) * CARCarKitWirelessPairingCreatedEvent not observed * [connect CarPlay] not entered 07:14:57 [carkitd] Transitioning: [waiting on messaging connection] → [dismiss/finished] ← Terminates ~25 sec later without sending CarPlayAvailability Success case (Ioniq5) — UTC 07:12 (same sysdiagnose file, same iPhone) 07:12:05 [carkitd] Transitioning: [Bluetooth contacts sync] → [waiting on messaging connection] 07:12:12 [carkitd] CARCarKitWirelessPairingCreatedEvent received 07:12:14 [carkitd] Transitioning: [waiting on messaging connection] → [connect CarPlay] 07:12:18 [carkitd] sending CarPlayAvailability {wireless: YES BT: <private>} ← Wireless CarPlay established successfully The only observable difference between the two cases is whether CARCarKitWirelessPairingCreatedEvent occurs. Could you help us understand what conditions prevent this event from being generated, and whether there is a fallback path into [connect CarPlay] when it is absent? Any insight would be greatly appreciated. Thank you for your time.
0
0
791
Jul ’26
CarPlay Video Playback on iOS 27: Beta SDK, App Review Timing, and Parked-State Requirements
Consultation on CarPlay Video Playback Review Requirements for iOS 27 Hello Apple Developer Forums team, Our app has been approved for the CarPlay Video entitlement, and we are preparing to implement video playback for CarPlay while the vehicle is parked. I would like to confirm several points before development and submission: Can we develop this feature using the current Xcode beta and iOS 27 beta SDK? If the feature is completed using the beta SDK, can the app be submitted to App Review now, or must we wait until the official public release of iOS 27 and the final Xcode version? For CarPlay parked video playback, does App Review require the app to implement or demonstrate its own P-gear / parked-state safety lock logic, or is this restriction handled by the CarPlay system and vehicle? Is a car infotainment system update required for CarPlay Video Playback support, or is support determined by the iPhone iOS version and the connected CarPlay system’s capabilities, such as supportsVideoPlayback? We understand that final App Review decisions are made during review, but we would appreciate any official guidance or documentation references regarding the correct implementation and submission timing. Thank you.
2
0
895
Jul ’26
CarPlay Communication app not appearing on the CarPlay dashboard — is SiriKit messaging support required for registration?
I have an iOS 17+ app (SwiftUI lifecycle, @UIApplicationDelegateAdaptor) with the granted com.apple.developer.carplay-communication entitlement. It's a voice-message app for family (leave/listen to short audio messages). The app does not appear in Settings → General → CarPlay, nor on the CarPlay Home grid, on a real head unit — across multiple TestFlight builds and full phone reboots. The iPhone app itself launches fine. Verified: The App Store distribution provisioning profile carries com.apple.developer.carplay-communication. The build is signed with that entitlement. Info.plist declares a CPTemplateApplicationSceneSessionRoleApplication scene with UISceneClassName = CPTemplateApplicationScene, a UISceneConfigurationName, and UISceneDelegateClassName pointing to a CPTemplateApplicationSceneDelegate. The delegate synchronously sets a root CPListTemplate in templateApplicationScene(_:didConnect:). My questions: Does a CarPlay Communication app require SiriKit messaging support (INSendMessageIntent, INSearchForMessagesIntent, INSetMessageAttributeIntent, the Siri entitlement, NSSiriUsageDescription, INIntentsSupported) in order to be registered/shown on the CarPlay dashboard? My app currently uses custom CPListTemplate rows with a direct audio recorder and no SiriKit intents. How can I confirm whether the App Store / TestFlight–re-signed build actually carries the carplay-communication entitlement at runtime? For an audio-message app that must never transcribe audio, is INOutgoingMessageType.outgoingMessageAudio the correct approach, and should playback use the SiriKit read flow rather than CPNowPlayingTemplate (which appears to require the Audio entitlement)?
0
0
802
Jul ’26
CarPlay Entitlements for navigation
Bonjour, Je viens ici afin d'exposer mon problème en espérant trouver une solution. En Août 2025 j'ai publié une demande afin de pouvoir développer une application Carplay de type navigation. Ma demande n'a jamais été traitée, j'ai soumis une autre demande en février, puis en avril. Toujours sans réponse. Depuis environ 3 semaines, j'appelle Apple toutes les semaines afin de demander à ce que ma demande soit traitée. J'ai bien évidemment une réponse m'indiquant que la demande était remontée, mais sans retour par la suite. Je commence à sérieusement perdre patience, et ne trouve aucune solution. Quelles seraient vos propositions ? Merci par avance pour vos retours
1
0
1.2k
Jun ’26
CarPlay Simulator shows an empty black screen on iOS27
Under Xcode 27 beta (27A5194q) the built-in CarPlay external screen from iOS simulator can be launched but shows an empty black screen every time on iOS27 device configurations. I have tested many different simulated devices (iPhone 17, 17 pro, 17 pro max) and different screen resolutions. Under iOS26.3 it works as expected. Is this a known issue? Is there any workaround or fix?
0
1
1.2k
Jun ’26
Scrolling Behavior for Section Headers
When using the new list section headers that include an image, title, subtitle, and action button (e.g., on playlist entity pages), the header remains fixed while the underlying content scrolls. This results in visual overlap between the header and list items, creating readability issues that can appear visually broken during interaction. Is this a known issue, and is there a workaround or fix planned?
1
0
1k
Jun ’26
Video Now Playing View Configuration
I have questions about how the Video Now Playing experience for music apps is configured and what controls are available: Subtitles / Closed Captions — Does the Video NPV support subtitle or closed caption selection? Playback Speed — Is playback speed control surfaced in the CarPlay Video NPV UI? Playback Controls — Beyond play/pause and seek, what controls are available on the Video NPV? Fallback Behavior — When CPSessionConfiguration.supportsVideoPlayback becomes false mid-session (e.g., vehicle starts moving), how does the transition from video to audio-only Now Playing work? Is there a delegate callback, or should we observe supportsVideoPlayback via KVO? Configuration Scope — Is the video playback surface fully driven by AirPlay streaming + CPPlaybackConfiguration, or are there additional configuration points we should be aware of for controlling the video NPV experience?
1
0
1.1k
Jun ’26
Simulator and automatization
I'm looking for options concerning this matter, aiming to have automatized tests in a navigation app. I wasn't able to control either the iOS simulator's extended display nor the CarPlay Simulator (additional tools) via available CLI commands. I couldn’t scan for AX elements either. Closest thing I found is to control the macOS window, take screenshots and simulate user gestures using an agentic workflow. May I have missed something regarding already available tooling?
1
0
1k
Jun ’26
Up Next Button Visibility Not Updating Dynamically
The CPNowPlayingTemplate.upNextButtonEnabled property does not consistently hide the Up Next (queue) button when set to false at runtime. We can reproduce this reliably: Start playback of a playlist (queue is available, upNextButtonEnabled = true). Switch to AI DJ playback (queue is not applicable, set upNextButtonEnabled = false). The Up Next button remains visible on the Now Playing screen. The button only disappears after the user navigates away from and back to the Now Playing view. This appears to be a state refresh issue where the template does not re-render when the property is toggled during an active session. Is this a known issue? Is there a recommended workaround to force the Now Playing template to refresh its button visibility without requiring the user to navigate away? Should we be using a different mechanism to dynamically control the visibility of the Up Next button based on playback context?
1
0
961
Jun ’26
Allow CallKit-logged calls to be called back as native PSTN calls from Recents and CarPlay
We build a call-screening app for VoIP-forwarded calls. Inbound calls are forwarded to our service, screened, and surfaced to the user via CallKit (reportNewIncomingCall) with includesCallsInRecents = true and a CXHandle(type: .phoneNumber, …) carrying the real caller number. Because the call is forwarded at the network before it reaches the handset, the user's native carrier call log never records it — CallKit is the only way the call appears in Recents. The gap: When the user taps "call back" on one of these entries (in the native Phone app or in CarPlay), iOS delivers an INStartCallIntent to our app. Our app's only way to then place a normal cellular/PSTN call is to open a tel: URL, which requires the app to be foregrounded. On the phone this works (with an app launch + the system "Call?" confirmation). On CarPlay it cannot work at all, because CarPlay does not foreground third-party apps or open tel: URLs, and there is no API to initiate a PSTN/cellular call from the background. There is currently no way for an app-logged (CallKit) call to be called back as a native PSTN call — the callback is always routed back into the app, and the app has no sanctioned PSTN-dial path on CarPlay. Requested enhancement (any of these would solve it): A way to mark a CallKit-logged call (e.g., a flag on CXProviderConfiguration or per-call on the handle) such that calling it back from Recents/CarPlay dials the cellular line directly (treating it like a native carrier-logged number), instead of routing INStartCallIntent to the app; or An API to write a call to Recents as a native, PSTN-dialable entry associated with the cellular line; or A sanctioned way, when handling the callback INStartCallIntent on CarPlay, for the app to request a PSTN cellular callback (with the standard user confirmation) rather than only a VoIP call. Why existing APIs don't suffice: CXHandle(type: .phoneNumber) + includesCallsInRecents correctly display the number, and INStartCallIntent correctly delivers the callback — but the callback can only become a VoIP call (via CXStartCallAction) or an app-foregrounded tel: open. Neither yields a native PSTN call on CarPlay. Routing the callback through VoIP is not viable for us: it would present our trunk's caller ID (or require per-user STIR/SHAKEN caller-ID verification), so the user's own number would not appear to the person they call back. User impact (safety & accessibility): Our users skew older (55–65) and rely on the app to screen scam/spam calls. A user driving with CarPlay currently cannot safely return a legitimate screened call — they must pick up the phone, wait for the app to open, and tap a confirmation. This defeats the hands-free safety purpose of CarPlay for exactly the population most exposed to phone scams. For comparison: On Android, a self-managed ConnectionService with EXTRA_LOG_SELF_MANAGED_CALLS lets a screened call appear in the system dialer and be carrier-dialed back with a single tap from Android Auto, no app launch and no confirmation — preserving the user's own caller ID natively. iOS has no equivalent for app-logged calls. Steps to reproduce (current behavior): App reports an incoming call via CallKit with includesCallsInRecents = true and a .phoneNumber handle. End the call so it lands in Recents. In CarPlay, open Recents and tap the entry to call back. Observed: the callback is delivered to the app as INStartCallIntent; the only PSTN path (tel:) cannot open on CarPlay, so no call is placed. Expected: a native PSTN/cellular callback (one confirmation at most), as with a carrier-logged number. Wondering...can this be considered for a future update?
1
0
975
Jun ’26
CarPlay Video Support
I was looking into testing the new video playback feature but see that some cars doesn't show it. Will it be a future update that pushes support for all vehicles or will it be up to the manufacture
2
0
849
Jun ’26
Custom Toolbar Items
Why can't you include a custom toolbar item on the parent view of a Tab? I got around this by inserting a bespoke item at the top of my list template to represent the action that would have gone in the toolbar item, and then on all subsequent child views I display the toolbar item as intended. This works, but it feels a little clunky. Any guidance here? Thanks!
2
0
833
Jun ’26
New CarPlay entitlement categories?
Are there plans to ever open up any more categories of apps in CarPlay? In particular, while Calendar.app is allowed in CarPlay, there is no accepted category that a third party calendar app could fall under to have the ability to do the same thing?
1
0
813
Jun ’26
Template images dropped after carplayd degrade / scene-create watchdog — placeholder glyphs
CarPlay template images falling back to the generic placeholder glyph I have a template CarPlay app (CPTabBarTemplate → CPListTemplates, with tabs use CPListImageRowItem with ~6–7 CPListImageRowItemRowElement chips per row, each a UIGraphicsImageRenderer bitmap we update on a dirty-checked ~2 Hz loop). Customers intermittently see every tile image revert to the system music-note placeholder while text labels keep rendering. From submitted sysdiagnose files, I've isolated two paths to it and want to know if I'm doing something wrong or if this is a framework bug: After extended sessions, all template images go blank and stay blank across app force-quit and even delete-and-reinstall — only an iPhone reboot restores them. That points at persistent carplayd-side state surviving my process. Is there a public-API signal to detect this degraded state, or a way to force the daemon to rebind my images, short of asking the user to reboot? At connect, I have sometimes hit a scene-create watchdog kill (0x8BADF00D, 10 s wall-clock) building the image-row tab; the host respawns and shows placeholders during the ~20 s rebuild. The hung main-thread stack bottoms out in CUICatalog / CUIMutableStructuredThemeStore renditionWithKey: reached via CPListImageRowItemElement.image, and I see "CUIThemeStore: No theme registered with id=0" once per launch. Is reconfiguring one element re-resolving the whole row's images expected behavior? What's the recommended pattern to populate images into CPListImageRowItem template at connect without tripping the scene-create watchdog? Thanks for your help!
2
0
804
Jun ’26
CarPlay Now Playing for continuous audio
I work on an ambient sound mixer (looping nature sounds that play continuously, often for hours). There's no meaningful track duration, so a progress bar doesn't represent anything real. I'm aware of MPNowPlayingInfoPropertyIsLiveStream, but our content is continuous rather than live, and the LIVE treatment seems semantically wrong for local looping audio. Three questions: Is isLiveStream the sanctioned way for continuous-but-not-live content to opt out of the scrubber? We'd want to toggle it off when a play timer is active (showing the sleep-timer countdown in the progress bar). Is flipping that flag mid-session supported? Is there a better-fitting presentation I'm missing? Thanks!
1
0
847
Jun ’26
Wireless CarPlay pairing flow — carkitd exits before [connect CarPlay] on initial pairing (iOS26.5 / 23F77)
We are investigating a wireless CarPlay connection failure between our vehicle headunit and iPhone, and have identified a suspicious pattern in the carkitd pairing flow through analysis of iPhone sysdiagnose logs. As we have been unable to fully interpret certain behaviors on our own, we would greatly appreciate any guidance or clarification Apple could provide. The original sysdiagnose log file is available upon request. Failure case — UTC 07:14 07:14:25 [carkitd] Transitioning: [started] → [Bluetooth confirmation] 07:14:26 [carkitd] Transitioning: [Bluetooth confirmation] → [Bluetooth contacts sync] 07:14:27 [carkitd] Transitioning: [Bluetooth contacts sync] → [waiting on messaging connection] 07:14:32 [carkitd] Consolidated ... CARiAPAuthComplete payload for event type 5 07:14:32 [accessoryd] sending EAAccessoryArrived to carkitd for accessory: Ioniq5566 07:14:32 [carkitd] updated partial session (null) (hasAccessory = NO) * CARCarKitWirelessPairingCreatedEvent not observed * [connect CarPlay] not entered 07:14:57 [carkitd] Transitioning: [waiting on messaging connection] → [dismiss/finished] ← Terminates ~25 sec later without sending CarPlayAvailability Success case (Ioniq5) — UTC 07:12 (same sysdiagnose file, same iPhone) 07:12:05 [carkitd] Transitioning: [Bluetooth contacts sync] → [waiting on messaging connection] 07:12:12 [carkitd] CARCarKitWirelessPairingCreatedEvent received 07:12:14 [carkitd] Transitioning: [waiting on messaging connection] → [connect CarPlay] 07:12:18 [carkitd] sending CarPlayAvailability {wireless: YES BT: <private>} ← Wireless CarPlay established successfully The only observable difference between the two cases is whether CARCarKitWirelessPairingCreatedEvent occurs. Could you help us understand what conditions prevent this event from being generated, and whether there is a fallback path into [connect CarPlay] when it is absent? Any insight would be greatly appreciated. Thank you for your time.
Replies
0
Boosts
0
Views
791
Activity
Jul ’26
CarPlay Video Playback on iOS 27: Beta SDK, App Review Timing, and Parked-State Requirements
Consultation on CarPlay Video Playback Review Requirements for iOS 27 Hello Apple Developer Forums team, Our app has been approved for the CarPlay Video entitlement, and we are preparing to implement video playback for CarPlay while the vehicle is parked. I would like to confirm several points before development and submission: Can we develop this feature using the current Xcode beta and iOS 27 beta SDK? If the feature is completed using the beta SDK, can the app be submitted to App Review now, or must we wait until the official public release of iOS 27 and the final Xcode version? For CarPlay parked video playback, does App Review require the app to implement or demonstrate its own P-gear / parked-state safety lock logic, or is this restriction handled by the CarPlay system and vehicle? Is a car infotainment system update required for CarPlay Video Playback support, or is support determined by the iPhone iOS version and the connected CarPlay system’s capabilities, such as supportsVideoPlayback? We understand that final App Review decisions are made during review, but we would appreciate any official guidance or documentation references regarding the correct implementation and submission timing. Thank you.
Replies
2
Boosts
0
Views
895
Activity
Jul ’26
CarPlay Communication app not appearing on the CarPlay dashboard — is SiriKit messaging support required for registration?
I have an iOS 17+ app (SwiftUI lifecycle, @UIApplicationDelegateAdaptor) with the granted com.apple.developer.carplay-communication entitlement. It's a voice-message app for family (leave/listen to short audio messages). The app does not appear in Settings → General → CarPlay, nor on the CarPlay Home grid, on a real head unit — across multiple TestFlight builds and full phone reboots. The iPhone app itself launches fine. Verified: The App Store distribution provisioning profile carries com.apple.developer.carplay-communication. The build is signed with that entitlement. Info.plist declares a CPTemplateApplicationSceneSessionRoleApplication scene with UISceneClassName = CPTemplateApplicationScene, a UISceneConfigurationName, and UISceneDelegateClassName pointing to a CPTemplateApplicationSceneDelegate. The delegate synchronously sets a root CPListTemplate in templateApplicationScene(_:didConnect:). My questions: Does a CarPlay Communication app require SiriKit messaging support (INSendMessageIntent, INSearchForMessagesIntent, INSetMessageAttributeIntent, the Siri entitlement, NSSiriUsageDescription, INIntentsSupported) in order to be registered/shown on the CarPlay dashboard? My app currently uses custom CPListTemplate rows with a direct audio recorder and no SiriKit intents. How can I confirm whether the App Store / TestFlight–re-signed build actually carries the carplay-communication entitlement at runtime? For an audio-message app that must never transcribe audio, is INOutgoingMessageType.outgoingMessageAudio the correct approach, and should playback use the SiriKit read flow rather than CPNowPlayingTemplate (which appears to require the Audio entitlement)?
Replies
0
Boosts
0
Views
802
Activity
Jul ’26
CarPlay Entitlements for navigation
Bonjour, Je viens ici afin d'exposer mon problème en espérant trouver une solution. En Août 2025 j'ai publié une demande afin de pouvoir développer une application Carplay de type navigation. Ma demande n'a jamais été traitée, j'ai soumis une autre demande en février, puis en avril. Toujours sans réponse. Depuis environ 3 semaines, j'appelle Apple toutes les semaines afin de demander à ce que ma demande soit traitée. J'ai bien évidemment une réponse m'indiquant que la demande était remontée, mais sans retour par la suite. Je commence à sérieusement perdre patience, et ne trouve aucune solution. Quelles seraient vos propositions ? Merci par avance pour vos retours
Replies
1
Boosts
0
Views
1.2k
Activity
Jun ’26
CarPlay Simulator shows an empty black screen on iOS27
Under Xcode 27 beta (27A5194q) the built-in CarPlay external screen from iOS simulator can be launched but shows an empty black screen every time on iOS27 device configurations. I have tested many different simulated devices (iPhone 17, 17 pro, 17 pro max) and different screen resolutions. Under iOS26.3 it works as expected. Is this a known issue? Is there any workaround or fix?
Replies
0
Boosts
1
Views
1.2k
Activity
Jun ’26
Scrolling Behavior for Section Headers
When using the new list section headers that include an image, title, subtitle, and action button (e.g., on playlist entity pages), the header remains fixed while the underlying content scrolls. This results in visual overlap between the header and list items, creating readability issues that can appear visually broken during interaction. Is this a known issue, and is there a workaround or fix planned?
Replies
1
Boosts
0
Views
1k
Activity
Jun ’26
Video Now Playing View Configuration
I have questions about how the Video Now Playing experience for music apps is configured and what controls are available: Subtitles / Closed Captions — Does the Video NPV support subtitle or closed caption selection? Playback Speed — Is playback speed control surfaced in the CarPlay Video NPV UI? Playback Controls — Beyond play/pause and seek, what controls are available on the Video NPV? Fallback Behavior — When CPSessionConfiguration.supportsVideoPlayback becomes false mid-session (e.g., vehicle starts moving), how does the transition from video to audio-only Now Playing work? Is there a delegate callback, or should we observe supportsVideoPlayback via KVO? Configuration Scope — Is the video playback surface fully driven by AirPlay streaming + CPPlaybackConfiguration, or are there additional configuration points we should be aware of for controlling the video NPV experience?
Replies
1
Boosts
0
Views
1.1k
Activity
Jun ’26
number of grid items based on screen size
Is there any way to know the exact number of grid items that will fit across before you render your template? I'm currently delivering 7 items to accommodate the largest screen sizes, but on smaller screens 3 of these are wasted per row.
Replies
1
Boosts
1
Views
966
Activity
Jun ’26
Simulator and automatization
I'm looking for options concerning this matter, aiming to have automatized tests in a navigation app. I wasn't able to control either the iOS simulator's extended display nor the CarPlay Simulator (additional tools) via available CLI commands. I couldn’t scan for AX elements either. Closest thing I found is to control the macOS window, take screenshots and simulate user gestures using an agentic workflow. May I have missed something regarding already available tooling?
Replies
1
Boosts
0
Views
1k
Activity
Jun ’26
Unintended Condensed Grid Items Border Rendering
Condensed grid items and circular grid images with transparent backgrounds render with a subtle border around their edges, creating unintended visual artifacts. Is this a known issue, and is there a workaround or fix planned?
Replies
1
Boosts
0
Views
992
Activity
Jun ’26
Resolving server-backed entity catalogs
For large, frequently updated catalogs that live on a server, should Siri resolution use EntityStringQuery with disambiguation, or is IndexedEntity required for acceptable quality in the car?
Replies
1
Boosts
0
Views
912
Activity
Jun ’26
Up Next Button Visibility Not Updating Dynamically
The CPNowPlayingTemplate.upNextButtonEnabled property does not consistently hide the Up Next (queue) button when set to false at runtime. We can reproduce this reliably: Start playback of a playlist (queue is available, upNextButtonEnabled = true). Switch to AI DJ playback (queue is not applicable, set upNextButtonEnabled = false). The Up Next button remains visible on the Now Playing screen. The button only disappears after the user navigates away from and back to the Now Playing view. This appears to be a state refresh issue where the template does not re-render when the property is toggled during an active session. Is this a known issue? Is there a recommended workaround to force the Now Playing template to refresh its button visibility without requiring the user to navigate away? Should we be using a different mechanism to dynamically control the visibility of the Up Next button based on playback context?
Replies
1
Boosts
0
Views
961
Activity
Jun ’26
Secondary Navigation Buttons on Now Playing View (Top Right Corner)
Is there support (current or planned) for multiple navigation buttons in the top-right corner of CPNowPlayingTemplate? If multiple buttons are supported, what is the maximum number, and can they use icons instead of (or in addition to) text labels?
Replies
1
Boosts
0
Views
917
Activity
Jun ’26
Allow CallKit-logged calls to be called back as native PSTN calls from Recents and CarPlay
We build a call-screening app for VoIP-forwarded calls. Inbound calls are forwarded to our service, screened, and surfaced to the user via CallKit (reportNewIncomingCall) with includesCallsInRecents = true and a CXHandle(type: .phoneNumber, …) carrying the real caller number. Because the call is forwarded at the network before it reaches the handset, the user's native carrier call log never records it — CallKit is the only way the call appears in Recents. The gap: When the user taps "call back" on one of these entries (in the native Phone app or in CarPlay), iOS delivers an INStartCallIntent to our app. Our app's only way to then place a normal cellular/PSTN call is to open a tel: URL, which requires the app to be foregrounded. On the phone this works (with an app launch + the system "Call?" confirmation). On CarPlay it cannot work at all, because CarPlay does not foreground third-party apps or open tel: URLs, and there is no API to initiate a PSTN/cellular call from the background. There is currently no way for an app-logged (CallKit) call to be called back as a native PSTN call — the callback is always routed back into the app, and the app has no sanctioned PSTN-dial path on CarPlay. Requested enhancement (any of these would solve it): A way to mark a CallKit-logged call (e.g., a flag on CXProviderConfiguration or per-call on the handle) such that calling it back from Recents/CarPlay dials the cellular line directly (treating it like a native carrier-logged number), instead of routing INStartCallIntent to the app; or An API to write a call to Recents as a native, PSTN-dialable entry associated with the cellular line; or A sanctioned way, when handling the callback INStartCallIntent on CarPlay, for the app to request a PSTN cellular callback (with the standard user confirmation) rather than only a VoIP call. Why existing APIs don't suffice: CXHandle(type: .phoneNumber) + includesCallsInRecents correctly display the number, and INStartCallIntent correctly delivers the callback — but the callback can only become a VoIP call (via CXStartCallAction) or an app-foregrounded tel: open. Neither yields a native PSTN call on CarPlay. Routing the callback through VoIP is not viable for us: it would present our trunk's caller ID (or require per-user STIR/SHAKEN caller-ID verification), so the user's own number would not appear to the person they call back. User impact (safety & accessibility): Our users skew older (55–65) and rely on the app to screen scam/spam calls. A user driving with CarPlay currently cannot safely return a legitimate screened call — they must pick up the phone, wait for the app to open, and tap a confirmation. This defeats the hands-free safety purpose of CarPlay for exactly the population most exposed to phone scams. For comparison: On Android, a self-managed ConnectionService with EXTRA_LOG_SELF_MANAGED_CALLS lets a screened call appear in the system dialer and be carrier-dialed back with a single tap from Android Auto, no app launch and no confirmation — preserving the user's own caller ID natively. iOS has no equivalent for app-logged calls. Steps to reproduce (current behavior): App reports an incoming call via CallKit with includesCallsInRecents = true and a .phoneNumber handle. End the call so it lands in Recents. In CarPlay, open Recents and tap the entry to call back. Observed: the callback is delivered to the app as INStartCallIntent; the only PSTN path (tel:) cannot open on CarPlay, so no call is placed. Expected: a native PSTN/cellular callback (one confirmation at most), as with a carrier-logged number. Wondering...can this be considered for a future update?
Replies
1
Boosts
0
Views
975
Activity
Jun ’26
CarPlay Video Support
I was looking into testing the new video playback feature but see that some cars doesn't show it. Will it be a future update that pushes support for all vehicles or will it be up to the manufacture
Replies
2
Boosts
0
Views
849
Activity
Jun ’26
Custom Toolbar Items
Why can't you include a custom toolbar item on the parent view of a Tab? I got around this by inserting a bespoke item at the top of my list template to represent the action that would have gone in the toolbar item, and then on all subsequent child views I display the toolbar item as intended. This works, but it feels a little clunky. Any guidance here? Thanks!
Replies
2
Boosts
0
Views
833
Activity
Jun ’26
New CarPlay entitlement categories?
Are there plans to ever open up any more categories of apps in CarPlay? In particular, while Calendar.app is allowed in CarPlay, there is no accepted category that a third party calendar app could fall under to have the ability to do the same thing?
Replies
1
Boosts
0
Views
813
Activity
Jun ’26
Template images dropped after carplayd degrade / scene-create watchdog — placeholder glyphs
CarPlay template images falling back to the generic placeholder glyph I have a template CarPlay app (CPTabBarTemplate → CPListTemplates, with tabs use CPListImageRowItem with ~6–7 CPListImageRowItemRowElement chips per row, each a UIGraphicsImageRenderer bitmap we update on a dirty-checked ~2 Hz loop). Customers intermittently see every tile image revert to the system music-note placeholder while text labels keep rendering. From submitted sysdiagnose files, I've isolated two paths to it and want to know if I'm doing something wrong or if this is a framework bug: After extended sessions, all template images go blank and stay blank across app force-quit and even delete-and-reinstall — only an iPhone reboot restores them. That points at persistent carplayd-side state surviving my process. Is there a public-API signal to detect this degraded state, or a way to force the daemon to rebind my images, short of asking the user to reboot? At connect, I have sometimes hit a scene-create watchdog kill (0x8BADF00D, 10 s wall-clock) building the image-row tab; the host respawns and shows placeholders during the ~20 s rebuild. The hung main-thread stack bottoms out in CUICatalog / CUIMutableStructuredThemeStore renditionWithKey: reached via CPListImageRowItemElement.image, and I see "CUIThemeStore: No theme registered with id=0" once per launch. Is reconfiguring one element re-resolving the whole row's images expected behavior? What's the recommended pattern to populate images into CPListImageRowItem template at connect without tripping the scene-create watchdog? Thanks for your help!
Replies
2
Boosts
0
Views
804
Activity
Jun ’26
CarPlay Now Playing for continuous audio
I work on an ambient sound mixer (looping nature sounds that play continuously, often for hours). There's no meaningful track duration, so a progress bar doesn't represent anything real. I'm aware of MPNowPlayingInfoPropertyIsLiveStream, but our content is continuous rather than live, and the LIVE treatment seems semantically wrong for local looping audio. Three questions: Is isLiveStream the sanctioned way for continuous-but-not-live content to opt out of the scrubber? We'd want to toggle it off when a play timer is active (showing the sleep-timer countdown in the progress bar). Is flipping that flag mid-session supported? Is there a better-fitting presentation I'm missing? Thanks!
Replies
1
Boosts
0
Views
847
Activity
Jun ’26
New CarPlay UI Components in iOS 27 Not Mentioned in Release Notes
Is there a comprehensive list of all CarPlay framework changes in iOS 27 beyond what appears in the public release notes? Are there any new or updated CarPlay components in iOS 27 that are not yet reflected in the SDK headers or documentation?
Replies
2
Boosts
0
Views
878
Activity
Jun ’26