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

Reliable background trigger when CarPlay connects/disconnects (Driver Log Book App)
Hello everyone, I am currently developing a simple driver log book app and I’m hitting a wall regarding a seamless user experience. My goal is very straightforward: I want my app to be notified/triggered in the background as soon as CarPlay is activated or deactivated, so it can automatically start or stop tracking a trip. Even with the official CarPlay entitlement granted, I cannot find a reliable API or workaround to achieve this. It feels like something that should be incredibly simple. I know that Apple Shortcuts (Kurzbefehle) handles this beautifully—the automation triggers for CarPlay work great. However, from an app developer's perspective, this isn't a viable solution for production: The average user will never go through the hassle of manually creating a Shortcut automation just to make the app work. Third-party apps are not allowed to programmatically create or inject these automation triggers for the user. It’s quite disappointing because the OS clearly detects the state perfectly, but doesn't expose a clean way for eligible navigation/driving apps to act on it in the background. Has anyone found a robust workaround for this? Or is there a specific API within the CarPlay framework I am overlooking that allows background execution exactly at the moment of connection/disconnection? Appreciate any insights or feedback!
1
0
144
22h
iPhone Duo: CarPlay safeAreaInsets remain zero while guidance cards obscure the map
We are experiencing a CarPlay layout issue on a physical iPhone Duo using CPMapTemplate and CPNavigationSession. When guidance cards appear, safeAreaInsets remain zero on the supplied CPWindow, its root view, and our map view. The location marker therefore stays centered and is obscured by the guidance and ETA cards. On a working non-Duo iPhone, the left inset updates correctly and our app shifts the map center accordingly. Apple Maps also shifts the location marker correctly on the affected Duo and displays smaller guidance cards. Environment iPhone Duo iOS 27.1 Xcode 27.1 Is this a known issue? Is there a new public API or configuration requirement in iOS 27+ for obtaining the unobscured map area?
1
0
26
1d
Can an iOS app access historical Bluetooth pairing information with a vehicle?
I’m exploring the development of an iPhone application called DriverTouchLock, designed to help distinguish a vehicle’s driver from its passengers. One possible part of the system would be to use historical Bluetooth connection information as an indicator of which phone is regularly associated with a particular vehicle. For example, if one iPhone has connected to a vehicle’s Bluetooth system hundreds of times, while other phones have connected only occasionally, could that history be used as one factor in identifying the likely driver? My questions are: Can a normal third-party iOS app access the iPhone’s historical Bluetooth pairing information, including previously paired vehicle devices, connection frequency or timestamps, when those connections were made through iOS Settings or CarPlay rather than through the app itself? If this information is not accessible, is there an Apple-approved API, entitlement or alternative method that would allow an app to collect this information? Could an app build its own Bluetooth connection history if it established and managed its own connection to a compatible vehicle accessory? Are there any restrictions that would prevent this approach being used in a standard TestFlight application? I understand that Bluetooth history alone would not prove who is driving. The intention is to use it as one contextual signal alongside motion sensors and other data to improve driver/passenger identification. I’d appreciate any guidance from developers familiar with Core Bluetooth, CarPlay and iOS privacy restrictions. Thank you.
1
0
150
1d
iPhone Duo: CarPlay safeAreaInsets remain zero during navigation
We are experiencing a CarPlay layout issue on a physical iPhone Duo using CPMapTemplate and CPNavigationSession. When guidance cards appear, safeAreaInsets remain zero on the supplied CPWindow, its root view, and our map view. The location marker therefore stays centered and is obscured by the guidance and ETA cards. On a working non-Duo iPhone, the left inset updates correctly and our app shifts the map center accordingly. Apple Maps also shifts the location marker correctly on the affected Duo and displays smaller guidance cards. Environment iPhone Duo iOS 27.1 Xcode 27.1 Is there a new public API or configuration requirement in iOS 27+ for obtaining the unobscured map area? Thank you.
0
0
22
1d
Avoiding CPMapPanel overlap with maneuver cards during CarPlay navigation
I am developing a CarPlay navigation app using only public CarPlay APIs. During active turn-by-turn guidance, the app needs to keep the next planned charging stop visible and interactive so the driver can open it and review the remaining planned stops. The root template is a CPMapTemplate. The app starts a CPNavigationSession, supplies the current CPManeuver through upcomingManeuvers, and shows a CPMapPanel containing one interactive CPListItem for the next stop. let mapTemplate = CPMapTemplate() let session = mapTemplate.startNavigationSession(for: trip) session.upcomingManeuvers = [currentManeuver] let stopItem = CPListItem( text: "1. Charging stop", detailText: "4/6 available · 320 kW · 13% arrival" ) stopItem.handler = { _, completion in // Push a CPMapPanel containing the planned-stop hierarchy. completion() } let panel = CPMapPanel( title: nil, sections: [ CPMapPanelSection( title: nil, items: [CPMapPanelItem(listItem: stopItem)] ) ], buttonConfiguration: nil ) mapTemplate.showPanel(panel, completion: nil)On a wide CarPlay host, both the system-rendered maneuver/trip-estimate cards and the app's map panel occupy the leading side while a large trailing area remains free. CPMapPanel does not appear to expose a preferred side, layout priority, safe region, or collision policy. Changing the panel content and the navigation-bar buttons has not provided a vehicle-independent solution. Reproduction: Use a navigation-entitled app with a CPMapTemplate root. Start a trip and a native CPNavigationSession. Publish a CPManeuver in upcomingManeuvers. Show the interactive CPMapPanel above. Observe the system maneuver card, trip-estimate card, map controls, and map panel on a wide CarPlay host. Environment: Xcode 27.1 / iOS 27 SDK App build used for the latest vehicle reproduction: 69 A minimal UIKit/CarPlay/MapKit reproduction project is available and contains no credentials, user data, or third-party SDKs. Questions: Is a persistent interactive CPMapPanel supported while a CPNavigationSession displays maneuver guidance? Is there a documented layout contract that prevents a CPMapPanel from conflicting with system maneuver and trip-estimate cards across hosts? If panel placement is intentionally host-controlled, which public template or API is intended for a next-charging-stop entry that remains visible and interactive during guidance? Is CPMultiStopCardConfiguration in the ETA tray the intended architecture, even when the next stop should remain visible at a glance? Are there documented content or update-frequency limits that influence the panel layout? I do not want to use fixed coordinates, a custom touch overlay, or private APIs. The goal is a supported, driver-safe solution that works across different CarPlay hosts.
0
0
52
3d
CarPlay video: what does "vehicle doesn't support features requiring asset" mean?
Our CarPlay app plays video on the car display through AirPlay video streaming in CarPlay Simulator ("Standard Video Playback"), and falls back to audio when video is unavailable. On a real vehicle (wireless CarPlay, iOS 27.0.1) the iPhone log shows at connection: vehicle supports theme assets: NO supportedCarPlayFeatures: vehicle doesn't support features requiring asset (includes videoPlayback) CarPlay videoPlayback supported: noSo CPSessionConfiguration.supportsVideoPlayback is false and the app can only show Now Playing. The same head unit shows parked video with another phone projection system, so the screen itself is capable. Is this a vehicle-side capability that only the automaker can enable? Is there any supported way for a CarPlay app to show parked video on such a vehicle? A code-level support request is also open (DTS Case-ID 23112107). Thank you.
0
0
83
6d
Start app if connected to CarPlay
Is there a way to trigger the start of my app (just for a short time) when the iPhone is connected to CarPlay (and/or to a car via bluetooth). I could not find anything. I don´t want to apply for CarPlay as I have no intention to show something on the cars screen. Any even small tipp is welcome
3
0
969
1w
Supported native alphabet navigation for CPListTemplate on iOS 27
We need to retain CarPlay's native A–Z button between the scroll arrows in an audio app. This is core navigation for an album/artist library. We use CPListSection(items:header:sectionIndexTitle:) with single-character labels. The sectionIndexTitle API is still documented and is not deprecated in the Xcode 27 SDK. We need the supported native implementation, not a custom picker. On a parked physical head unit with an iPhone running iOS 27, our app displays populated album rows and section headers but no A–Z. Apple Music displays A–Z on the same head unit. We do not know Apple Music's internal implementation. A standalone, public-API-only reproduction is prepared; its CarPlay scene code is included below. Each tab supplies four A/B/M/Z sections of ten synthetic rows. The variants are initially populated, updated after loading, the full section initializer, and securely archived and decoded sections. No network, authentication or artwork is required. The original app displays functioning native alphabet navigation on the iOS 26.5 CarPlay simulator. The public probe compiles. We cannot run an end-to-end iOS 27 CarPlay simulator session because Device Hub requires a physical device, as confirmed in developer forum thread 834440. Separately, an isolated local diagnostic hosted the native list renderer with CarPlay traits. Both runtimes receive four nonempty index labels and all 40 rows. On iOS 26.5 (23F77), its table data source returns A/B/M/Z. On iOS 27.0 (24A434), the attached UICollectionViewDiffableDataSource returns nil index titles. Both the full initializer and secure archive round-trip preserve titles but produce the same result. This diagnostic is not an end-to-end CarPlay session and does not establish the exact internals on the physical phone. A standard UIKit table supplied with index titles and CarPlay traits still displays the native A–Z button on the same iOS 27 runtime. The control itself still exists; the observed failure is the template-to-index connection. This control experiment is also hosted in a phone window, not a CarPlay session. A standard UIKit collection data source implementing indexTitles(for:) also shows index letters on this runtime; the unmodified template renderer's collection data source returns nil. We have not modified that renderer. Questions: Did iOS 27 move native CPListTemplate alphabet navigation to another API, configuration, or presentation requirement? What is the supported migration? If sectionIndexTitle remains the correct input, is this a known regression in the new list renderer, and what supported correction is available? How should third-party audio apps reproduce Apple Music's native alphabet navigation on iOS 27 without private API or replacing it with a custom control? Please provide a working public-API example or identify the relevant fix/version. Reproduction: use the audio CarPlay entitlement and configure CPTemplateApplicationScene with CarScene as its delegate. This is the scene code from the compiling standalone probe: import CarPlay import UIKit @MainActor func indexedSections() -> [CPListSection] { ["A", "B", "M", "Z"].map { letter in let items = (1...10).map { number in let item = CPListItem(text: "\(letter) Album \(number)", detailText: "Synthetic test entry") item.handler = { _, completion in completion() } return item } return CPListSection(items: items, header: letter, sectionIndexTitle: letter) } } final class CarScene: UIResponder, CPTemplateApplicationSceneDelegate { func templateApplicationScene(_ scene: CPTemplateApplicationScene, didConnect controller: CPInterfaceController) { let ready = CPListTemplate(title: "Ready", sections: indexedSections()) ready.tabTitle = "Ready" ready.tabImage = UIImage(systemName: "list.bullet") let updated = CPListTemplate(title: "Updated", sections: [CPListSection(items: [CPListItem(text: "Loading", detailText: nil)])]) updated.tabTitle = "Updated" updated.tabImage = UIImage(systemName: "arrow.clockwise") let full = CPListTemplate(title: "Full Init", sections: indexedSections().map { CPListSection(items: $0.items, header: $0.header ?? "", headerSubtitle: nil, headerImage: nil, headerButton: nil, sectionIndexTitle: $0.sectionIndexTitle) }) full.tabTitle = "Full Init" full.tabImage = UIImage(systemName: "list.bullet.rectangle") let decoded: CPListTemplate do { let sections = try indexedSections().map { section in let data = try NSKeyedArchiver.archivedData(withRootObject: section, requiringSecureCoding: true) guard let restored = try NSKeyedUnarchiver.unarchivedObject(ofClass: CPListSection.self, from: data) else { throw CocoaError(.coderReadCorrupt) } return restored } decoded = CPListTemplate(title: "Decoded", sections: sections) } catch { decoded = CPListTemplate(title: "Decode failed", sections: [CPListSection(items: [ CPListItem(text: "Section decoding failed", detailText: String(describing: error)) ])]) } decoded.tabTitle = "Decoded" decoded.tabImage = UIImage(systemName: "shippingbox") controller.setRootTemplate(CPTabBarTemplate(templates: [ready, updated, full, decoded]), animated: false) { _, _ in } Task { @MainActor in try? await Task.sleep(for: .seconds(2)) updated.updateSections(indexedSections()) } } }
1
1
263
1w
Displaying current speed and speed limits
Hello! Our navigation app has the CarPlay Navigation entitlement and uses CPMapTemplate. We want to display a compact current speed indicator and speed limit sign directly on the map, alongside the standard maneuver and ETA templates. The CarPlay Developer Guide says the base view must exclusively draw a map and must not contain custom UI overlays. However, Waze and Google Maps for example both show these indicators and Mapbox’s public CarPlay implementation adds a custom SpeedLimitView to its map view controller. Are these speed indicators permitted as part of the map presentation? If so, what implementation and placement requirements apply if any?
2
0
72
1w
How to generate assets?
Since I can no longer connect Simulators to CarPlay, how am I supposed to generate Screenshots for App Store Connect and other media assets? I only have limited control over the iPhone. I can fake the location through DeviceHub, but thinks like navigation and the clock are quite limited. Is PhotoShop / Canva / whatever currently really the best option to generate assets instead of generating them programatically through the various simulators?
0
0
52
2w
CarPlay suppresses local notification sound app-wide — does a Live Activity alert behave differently?
I've confirmed through controlled testing that local notification sound is suppressed app-wide whenever CarPlay is connected, for an app with no CarPlay entitlement. Tested: Sound plays normally with CarPlay disconnected Sound is silent with CarPlay connected — confirmed by repeatedly connecting/disconnecting CarPlay with the identical notification, nothing else changed No difference with phone locked vs. unlocked No difference with Driving Focus on vs. off No difference with interruptionLevel set to .active vs. .timeSensitive Device: iPhone 13, iOS 26.6.2. Head unit: 2024 Toyota Tacoma (CarPlay). My app has no CarPlay entitlement (not navigation/audio/EV/parking/food- ordering), so I suspect this suppression may be intentional — but I can't find it documented anywhere. Given that, I'm looking at iOS 26 Live Activities as an alternative, since Apple's docs say a Live Activity can appear on the CarPlay Dashboard without a CarPlay entitlement. But I can't find documentation on: Whether a Live Activity push-to-start or update plays an audible sound when the phone is locked and CarPlay is connected. Whether Live Activity content backed by data-protection class A/B storage reliably renders in this state (separate widget guidance warns this "likely won't work in CarPlay" since phones are usually locked — unclear if this applies to ActivityKit content specifically). Has anyone tested this, or know if it's documented somewhere I'm missing? Trying to figure out if Live Activities are a viable path to a driver- audible alert for a non-CarPlay-entitled app, before I invest more engineering time in it.
1
0
221
2w
Can a single app hold two different CarPlay entitlements (e.g. audio + video)?
I’m reading the October 2026 CarPlay Developer Guide and want to confirm how entitlement combinations work in practice. The docs say multiple CarPlay entitlements can’t be combined in a single app, except EV charging + fueling. But audio and video are listed as separate entitlements, and audio apps are also allowed to play video. My questions: Can one app hold both carplay-audio and carplay-video, or only via an exception from Apple? For an audio-first app that also plays video, is the audio entitlement alone enough (with AirPlay video support)? Has any other combination, such as navigation + audio, ever been approved most recently? Since the video entitlement is iOS 27+, how should an app behave on earlier iOS versions if it holds both? Thanks!
1
0
226
3w
CarPlay Navigation: supported way to start a Siri reply to an in-app passenger conversation
Hello Apple Developer Support, We are developing Go Mobi, a driver app with CarPlay navigation using CPMapTemplate and an internal driver–passenger messaging service. We want to support this experience within a single iOS app: The driver receives a message associated with the active ride. The driver taps a “Reply” button in the CarPlay interface. Siri handles dictation, review, editing, cancellation and sending to that passenger through Go Mobi’s messaging service. Navigation remains active, and the driver returns to the map after the Siri interaction. The intended destination is Go Mobi’s internal conversation, not SMS or another messaging app. We have separately tested navigation and a Communication app using CPMessageListItem with SiriKit messaging intents. We understand that this does not establish permission to combine the Navigation and Communication CarPlay categories. Could you clarify the supported public API approach? Can an app using the Navigation entitlement and ordinary Siri support, without the CarPlay Communication entitlement, initiate this Siri reply flow from an onscreen button? Is CPMessageComposeBarButton supported on CPMapTemplate in this configuration? Would it route INSendMessageIntent to our own app, and how could we bind it to the existing passenger and conversationIdentifier? Since CPContactTemplate supports Navigation, could CPContactMessageButton provide this functionality? How would it select Go Mobi’s messaging service and conversation rather than relying only on a phone number or email address? If no supported onscreen entry point exists, what single-app approach does Apple recommend? Would invocation through Siri voice commands or the steering-wheel Siri button be supported instead? Please identify the applicable public APIs and entitlement requirements, or confirm which part of the requested experience is unsupported. We are currently testing with synthetic conversations and want to follow the documented CarPlay interaction and safety requirements. Thank you.
0
0
122
3w
CarPlay Video entitlement pending for 15 days — is there an escalation path?
We submitted a request for the CarPlay Video entitlement (com.apple.developer.carplay-video) on September 15, 2026, and have not received an approval, rejection, or request for additional information after 15 days. We have already followed up through the original entitlement email thread and contacted Apple Developer Support several times. Across these exchanges, we have provided the same core information at least four times, including the entitlement Case-ID, submission date, business need, and confirmation email. However, several replies have simply asked us to provide the same information again. Developer Support has also confirmed that CarPlay entitlement requests are handled by a different team and that they do not have a direct contact or support channel for that reviewing team. At this point, is there any escalation path for a CarPlay Video entitlement request that has been pending without an update? Or is waiting several weeks currently normal for these requests? Any guidance from an Apple engineer or developers who have recently gone through the CarPlay Video entitlement process would be greatly appreciated. Thank you
3
1
369
3w
CarPlay - Navigation Entitlement
We went through Apple's CarPlay documentation and, based on what we found, CarPlay provides templates for both Navigation and Audio, and our app has entitlements for both. One thing we would like to confirm before proceeding with implementation is whether a single app can expose both Navigation and Audio experiences in CarPlay, using both entitlements. Specifically, can the same CarPlay app provide a navigation experience (e.g., using CPMapTemplate) while also exposing an Audio/"Now Playing" experience, or does Apple expect these experiences to be implemented as separate apps or otherwise treated as separate CarPlay experiences? We'd also like to confirm whether CarPlay now allows an app to display a split-screen interface with navigation/map content on one side and audio controls or "Now Playing" controls on the other side. If so, is this something a single app with both Navigation and Audio entitlements can implement? The documentation explains the available templates and entitlements, but we couldn't find explicit guidance on whether the same app can leverage both Navigation and Audio experiences or whether these can be presented together in a split-screen layout. We'd like to clarify this before implementing the "Now Playing" screen, to ensure our approach aligns with Apple's CarPlay requirements and guidelines.
2
0
1.6k
3w
CarPlay category eligibility for private territory destinations with Apple Maps handoff
We are evaluating CarPlay support for Waidruf, an iPhone app for managing private hunting territories. Our intended in-car scope is limited to selecting a previously saved access point, parking location or hunting stand and handing driving directions to Apple Maps. We would also like to understand whether showing the territory and current location on a map is permitted. No territory editing, hunting administration or account configuration would be exposed in CarPlay. We do not currently provide our own turn-by-turn navigation. After reviewing section 3.10 of the CarPlay Entitlement Addendum and the CarPlay Developer Guide dated October 13, 2026, we understand that Driving Task must not primarily be a POI/location finder and cannot use custom maps. The guide also requires Navigation apps to provide turn-by-turn directions with upcoming maneuvers. Parking would not cover our mixed destination types. Is there a supported CarPlay entitlement category for this exact destination-selection and Apple Maps handoff use case? If not, can you confirm that we should keep destination selection on the iPhone and limit any CarPlay-facing extension to supported widgets or Live Activities, subject to their own restrictions? We are asking for eligibility guidance before applying for an entitlement or implementing a CarPlay interface, and are not seeking to bypass category requirements. Thank you.
0
0
91
3w
CarPlay audio entitlement approved, but profiles only include playable-content
My audiobook app was approved for the CarPlay audio entitlement, but every development provisioning profile I generate, whether automatic or manual through the API, includes only com.apple.developer.playable-content, never com.apple.developer.carplay-audio. Because of that, CPTemplateApplicationScene never connects, so I can't build with the template-based CarPlay APIs. I've regenerated profiles daily for a few weeks and always get the same result. It's filed as FB24899531. Has anyone else seen the newer carplay-audio key missing after approval? Did Apple have to re-apply the entitlement on their side, or is there a step I'm missing on the App ID? Thanks!
0
0
184
3w
CarPlay custom symbols missing on iOS 27
We’re seeing custom symbol images disappear in CarPlay on iOS 27.0. Their text labels remain visible, and built-in SF Symbols still display correctly. We reproduced this in a small standalone app using: CPGridButton in CPListTemplate.headerGridButtons CPListImageRowItemCondensedElement The custom symbol is an SVG symbol asset loaded from a resource bundle: UIImage(named: "chapters", in: resourceBundle, compatibleWith: nil)?.withRenderingMode(.alwaysTemplate) For comparison, the same screen displays the built-in dot.radiowaves.left.and.right symbol. On iOS 26.6.1, the custom symbol and built-in symbol appear correctly in both controls. On iOS 27.0, the custom symbol is missing from both controls, while the built-in symbol remains visible. The failing device is an iPhone 13 Pro running iOS 27.0 (24A437), with the sample built using Xcode 27.0 (27A266a). Has anyone else encountered this? Is this a known regression, or is there a new requirement forsupplying custom symbols to CarPlay? Filed as FB24806621, with the standalone project and comparison photos.
2
1
385
3w
Reliable background trigger when CarPlay connects/disconnects (Driver Log Book App)
Hello everyone, I am currently developing a simple driver log book app and I’m hitting a wall regarding a seamless user experience. My goal is very straightforward: I want my app to be notified/triggered in the background as soon as CarPlay is activated or deactivated, so it can automatically start or stop tracking a trip. Even with the official CarPlay entitlement granted, I cannot find a reliable API or workaround to achieve this. It feels like something that should be incredibly simple. I know that Apple Shortcuts (Kurzbefehle) handles this beautifully—the automation triggers for CarPlay work great. However, from an app developer's perspective, this isn't a viable solution for production: The average user will never go through the hassle of manually creating a Shortcut automation just to make the app work. Third-party apps are not allowed to programmatically create or inject these automation triggers for the user. It’s quite disappointing because the OS clearly detects the state perfectly, but doesn't expose a clean way for eligible navigation/driving apps to act on it in the background. Has anyone found a robust workaround for this? Or is there a specific API within the CarPlay framework I am overlooking that allows background execution exactly at the moment of connection/disconnection? Appreciate any insights or feedback!
Replies
1
Boosts
0
Views
144
Activity
22h
iPhone Duo: CarPlay safeAreaInsets remain zero while guidance cards obscure the map
We are experiencing a CarPlay layout issue on a physical iPhone Duo using CPMapTemplate and CPNavigationSession. When guidance cards appear, safeAreaInsets remain zero on the supplied CPWindow, its root view, and our map view. The location marker therefore stays centered and is obscured by the guidance and ETA cards. On a working non-Duo iPhone, the left inset updates correctly and our app shifts the map center accordingly. Apple Maps also shifts the location marker correctly on the affected Duo and displays smaller guidance cards. Environment iPhone Duo iOS 27.1 Xcode 27.1 Is this a known issue? Is there a new public API or configuration requirement in iOS 27+ for obtaining the unobscured map area?
Replies
1
Boosts
0
Views
26
Activity
1d
Can an iOS app access historical Bluetooth pairing information with a vehicle?
I’m exploring the development of an iPhone application called DriverTouchLock, designed to help distinguish a vehicle’s driver from its passengers. One possible part of the system would be to use historical Bluetooth connection information as an indicator of which phone is regularly associated with a particular vehicle. For example, if one iPhone has connected to a vehicle’s Bluetooth system hundreds of times, while other phones have connected only occasionally, could that history be used as one factor in identifying the likely driver? My questions are: Can a normal third-party iOS app access the iPhone’s historical Bluetooth pairing information, including previously paired vehicle devices, connection frequency or timestamps, when those connections were made through iOS Settings or CarPlay rather than through the app itself? If this information is not accessible, is there an Apple-approved API, entitlement or alternative method that would allow an app to collect this information? Could an app build its own Bluetooth connection history if it established and managed its own connection to a compatible vehicle accessory? Are there any restrictions that would prevent this approach being used in a standard TestFlight application? I understand that Bluetooth history alone would not prove who is driving. The intention is to use it as one contextual signal alongside motion sensors and other data to improve driver/passenger identification. I’d appreciate any guidance from developers familiar with Core Bluetooth, CarPlay and iOS privacy restrictions. Thank you.
Replies
1
Boosts
0
Views
150
Activity
1d
iPhone Duo: CarPlay safeAreaInsets remain zero during navigation
We are experiencing a CarPlay layout issue on a physical iPhone Duo using CPMapTemplate and CPNavigationSession. When guidance cards appear, safeAreaInsets remain zero on the supplied CPWindow, its root view, and our map view. The location marker therefore stays centered and is obscured by the guidance and ETA cards. On a working non-Duo iPhone, the left inset updates correctly and our app shifts the map center accordingly. Apple Maps also shifts the location marker correctly on the affected Duo and displays smaller guidance cards. Environment iPhone Duo iOS 27.1 Xcode 27.1 Is there a new public API or configuration requirement in iOS 27+ for obtaining the unobscured map area? Thank you.
Replies
0
Boosts
0
Views
22
Activity
1d
Avoiding CPMapPanel overlap with maneuver cards during CarPlay navigation
I am developing a CarPlay navigation app using only public CarPlay APIs. During active turn-by-turn guidance, the app needs to keep the next planned charging stop visible and interactive so the driver can open it and review the remaining planned stops. The root template is a CPMapTemplate. The app starts a CPNavigationSession, supplies the current CPManeuver through upcomingManeuvers, and shows a CPMapPanel containing one interactive CPListItem for the next stop. let mapTemplate = CPMapTemplate() let session = mapTemplate.startNavigationSession(for: trip) session.upcomingManeuvers = [currentManeuver] let stopItem = CPListItem( text: "1. Charging stop", detailText: "4/6 available · 320 kW · 13% arrival" ) stopItem.handler = { _, completion in // Push a CPMapPanel containing the planned-stop hierarchy. completion() } let panel = CPMapPanel( title: nil, sections: [ CPMapPanelSection( title: nil, items: [CPMapPanelItem(listItem: stopItem)] ) ], buttonConfiguration: nil ) mapTemplate.showPanel(panel, completion: nil)On a wide CarPlay host, both the system-rendered maneuver/trip-estimate cards and the app's map panel occupy the leading side while a large trailing area remains free. CPMapPanel does not appear to expose a preferred side, layout priority, safe region, or collision policy. Changing the panel content and the navigation-bar buttons has not provided a vehicle-independent solution. Reproduction: Use a navigation-entitled app with a CPMapTemplate root. Start a trip and a native CPNavigationSession. Publish a CPManeuver in upcomingManeuvers. Show the interactive CPMapPanel above. Observe the system maneuver card, trip-estimate card, map controls, and map panel on a wide CarPlay host. Environment: Xcode 27.1 / iOS 27 SDK App build used for the latest vehicle reproduction: 69 A minimal UIKit/CarPlay/MapKit reproduction project is available and contains no credentials, user data, or third-party SDKs. Questions: Is a persistent interactive CPMapPanel supported while a CPNavigationSession displays maneuver guidance? Is there a documented layout contract that prevents a CPMapPanel from conflicting with system maneuver and trip-estimate cards across hosts? If panel placement is intentionally host-controlled, which public template or API is intended for a next-charging-stop entry that remains visible and interactive during guidance? Is CPMultiStopCardConfiguration in the ETA tray the intended architecture, even when the next stop should remain visible at a glance? Are there documented content or update-frequency limits that influence the panel layout? I do not want to use fixed coordinates, a custom touch overlay, or private APIs. The goal is a supported, driver-safe solution that works across different CarPlay hosts.
Replies
0
Boosts
0
Views
52
Activity
3d
CarPlay video: what does "vehicle doesn't support features requiring asset" mean?
Our CarPlay app plays video on the car display through AirPlay video streaming in CarPlay Simulator ("Standard Video Playback"), and falls back to audio when video is unavailable. On a real vehicle (wireless CarPlay, iOS 27.0.1) the iPhone log shows at connection: vehicle supports theme assets: NO supportedCarPlayFeatures: vehicle doesn't support features requiring asset (includes videoPlayback) CarPlay videoPlayback supported: noSo CPSessionConfiguration.supportsVideoPlayback is false and the app can only show Now Playing. The same head unit shows parked video with another phone projection system, so the screen itself is capable. Is this a vehicle-side capability that only the automaker can enable? Is there any supported way for a CarPlay app to show parked video on such a vehicle? A code-level support request is also open (DTS Case-ID 23112107). Thank you.
Replies
0
Boosts
0
Views
83
Activity
6d
Start app if connected to CarPlay
Is there a way to trigger the start of my app (just for a short time) when the iPhone is connected to CarPlay (and/or to a car via bluetooth). I could not find anything. I don´t want to apply for CarPlay as I have no intention to show something on the cars screen. Any even small tipp is welcome
Replies
3
Boosts
0
Views
969
Activity
1w
Supported native alphabet navigation for CPListTemplate on iOS 27
We need to retain CarPlay's native A–Z button between the scroll arrows in an audio app. This is core navigation for an album/artist library. We use CPListSection(items:header:sectionIndexTitle:) with single-character labels. The sectionIndexTitle API is still documented and is not deprecated in the Xcode 27 SDK. We need the supported native implementation, not a custom picker. On a parked physical head unit with an iPhone running iOS 27, our app displays populated album rows and section headers but no A–Z. Apple Music displays A–Z on the same head unit. We do not know Apple Music's internal implementation. A standalone, public-API-only reproduction is prepared; its CarPlay scene code is included below. Each tab supplies four A/B/M/Z sections of ten synthetic rows. The variants are initially populated, updated after loading, the full section initializer, and securely archived and decoded sections. No network, authentication or artwork is required. The original app displays functioning native alphabet navigation on the iOS 26.5 CarPlay simulator. The public probe compiles. We cannot run an end-to-end iOS 27 CarPlay simulator session because Device Hub requires a physical device, as confirmed in developer forum thread 834440. Separately, an isolated local diagnostic hosted the native list renderer with CarPlay traits. Both runtimes receive four nonempty index labels and all 40 rows. On iOS 26.5 (23F77), its table data source returns A/B/M/Z. On iOS 27.0 (24A434), the attached UICollectionViewDiffableDataSource returns nil index titles. Both the full initializer and secure archive round-trip preserve titles but produce the same result. This diagnostic is not an end-to-end CarPlay session and does not establish the exact internals on the physical phone. A standard UIKit table supplied with index titles and CarPlay traits still displays the native A–Z button on the same iOS 27 runtime. The control itself still exists; the observed failure is the template-to-index connection. This control experiment is also hosted in a phone window, not a CarPlay session. A standard UIKit collection data source implementing indexTitles(for:) also shows index letters on this runtime; the unmodified template renderer's collection data source returns nil. We have not modified that renderer. Questions: Did iOS 27 move native CPListTemplate alphabet navigation to another API, configuration, or presentation requirement? What is the supported migration? If sectionIndexTitle remains the correct input, is this a known regression in the new list renderer, and what supported correction is available? How should third-party audio apps reproduce Apple Music's native alphabet navigation on iOS 27 without private API or replacing it with a custom control? Please provide a working public-API example or identify the relevant fix/version. Reproduction: use the audio CarPlay entitlement and configure CPTemplateApplicationScene with CarScene as its delegate. This is the scene code from the compiling standalone probe: import CarPlay import UIKit @MainActor func indexedSections() -> [CPListSection] { ["A", "B", "M", "Z"].map { letter in let items = (1...10).map { number in let item = CPListItem(text: "\(letter) Album \(number)", detailText: "Synthetic test entry") item.handler = { _, completion in completion() } return item } return CPListSection(items: items, header: letter, sectionIndexTitle: letter) } } final class CarScene: UIResponder, CPTemplateApplicationSceneDelegate { func templateApplicationScene(_ scene: CPTemplateApplicationScene, didConnect controller: CPInterfaceController) { let ready = CPListTemplate(title: "Ready", sections: indexedSections()) ready.tabTitle = "Ready" ready.tabImage = UIImage(systemName: "list.bullet") let updated = CPListTemplate(title: "Updated", sections: [CPListSection(items: [CPListItem(text: "Loading", detailText: nil)])]) updated.tabTitle = "Updated" updated.tabImage = UIImage(systemName: "arrow.clockwise") let full = CPListTemplate(title: "Full Init", sections: indexedSections().map { CPListSection(items: $0.items, header: $0.header ?? "", headerSubtitle: nil, headerImage: nil, headerButton: nil, sectionIndexTitle: $0.sectionIndexTitle) }) full.tabTitle = "Full Init" full.tabImage = UIImage(systemName: "list.bullet.rectangle") let decoded: CPListTemplate do { let sections = try indexedSections().map { section in let data = try NSKeyedArchiver.archivedData(withRootObject: section, requiringSecureCoding: true) guard let restored = try NSKeyedUnarchiver.unarchivedObject(ofClass: CPListSection.self, from: data) else { throw CocoaError(.coderReadCorrupt) } return restored } decoded = CPListTemplate(title: "Decoded", sections: sections) } catch { decoded = CPListTemplate(title: "Decode failed", sections: [CPListSection(items: [ CPListItem(text: "Section decoding failed", detailText: String(describing: error)) ])]) } decoded.tabTitle = "Decoded" decoded.tabImage = UIImage(systemName: "shippingbox") controller.setRootTemplate(CPTabBarTemplate(templates: [ready, updated, full, decoded]), animated: false) { _, _ in } Task { @MainActor in try? await Task.sleep(for: .seconds(2)) updated.updateSections(indexedSections()) } } }
Replies
1
Boosts
1
Views
263
Activity
1w
Displaying current speed and speed limits
Hello! Our navigation app has the CarPlay Navigation entitlement and uses CPMapTemplate. We want to display a compact current speed indicator and speed limit sign directly on the map, alongside the standard maneuver and ETA templates. The CarPlay Developer Guide says the base view must exclusively draw a map and must not contain custom UI overlays. However, Waze and Google Maps for example both show these indicators and Mapbox’s public CarPlay implementation adds a custom SpeedLimitView to its map view controller. Are these speed indicators permitted as part of the map presentation? If so, what implementation and placement requirements apply if any?
Replies
2
Boosts
0
Views
72
Activity
1w
How to generate assets?
Since I can no longer connect Simulators to CarPlay, how am I supposed to generate Screenshots for App Store Connect and other media assets? I only have limited control over the iPhone. I can fake the location through DeviceHub, but thinks like navigation and the clock are quite limited. Is PhotoShop / Canva / whatever currently really the best option to generate assets instead of generating them programatically through the various simulators?
Replies
0
Boosts
0
Views
52
Activity
2w
CarPlay suppresses local notification sound app-wide — does a Live Activity alert behave differently?
I've confirmed through controlled testing that local notification sound is suppressed app-wide whenever CarPlay is connected, for an app with no CarPlay entitlement. Tested: Sound plays normally with CarPlay disconnected Sound is silent with CarPlay connected — confirmed by repeatedly connecting/disconnecting CarPlay with the identical notification, nothing else changed No difference with phone locked vs. unlocked No difference with Driving Focus on vs. off No difference with interruptionLevel set to .active vs. .timeSensitive Device: iPhone 13, iOS 26.6.2. Head unit: 2024 Toyota Tacoma (CarPlay). My app has no CarPlay entitlement (not navigation/audio/EV/parking/food- ordering), so I suspect this suppression may be intentional — but I can't find it documented anywhere. Given that, I'm looking at iOS 26 Live Activities as an alternative, since Apple's docs say a Live Activity can appear on the CarPlay Dashboard without a CarPlay entitlement. But I can't find documentation on: Whether a Live Activity push-to-start or update plays an audible sound when the phone is locked and CarPlay is connected. Whether Live Activity content backed by data-protection class A/B storage reliably renders in this state (separate widget guidance warns this "likely won't work in CarPlay" since phones are usually locked — unclear if this applies to ActivityKit content specifically). Has anyone tested this, or know if it's documented somewhere I'm missing? Trying to figure out if Live Activities are a viable path to a driver- audible alert for a non-CarPlay-entitled app, before I invest more engineering time in it.
Replies
1
Boosts
0
Views
221
Activity
2w
Can a single app hold two different CarPlay entitlements (e.g. audio + video)?
I’m reading the October 2026 CarPlay Developer Guide and want to confirm how entitlement combinations work in practice. The docs say multiple CarPlay entitlements can’t be combined in a single app, except EV charging + fueling. But audio and video are listed as separate entitlements, and audio apps are also allowed to play video. My questions: Can one app hold both carplay-audio and carplay-video, or only via an exception from Apple? For an audio-first app that also plays video, is the audio entitlement alone enough (with AirPlay video support)? Has any other combination, such as navigation + audio, ever been approved most recently? Since the video entitlement is iOS 27+, how should an app behave on earlier iOS versions if it holds both? Thanks!
Replies
1
Boosts
0
Views
226
Activity
3w
CarPlay Navigation: supported way to start a Siri reply to an in-app passenger conversation
Hello Apple Developer Support, We are developing Go Mobi, a driver app with CarPlay navigation using CPMapTemplate and an internal driver–passenger messaging service. We want to support this experience within a single iOS app: The driver receives a message associated with the active ride. The driver taps a “Reply” button in the CarPlay interface. Siri handles dictation, review, editing, cancellation and sending to that passenger through Go Mobi’s messaging service. Navigation remains active, and the driver returns to the map after the Siri interaction. The intended destination is Go Mobi’s internal conversation, not SMS or another messaging app. We have separately tested navigation and a Communication app using CPMessageListItem with SiriKit messaging intents. We understand that this does not establish permission to combine the Navigation and Communication CarPlay categories. Could you clarify the supported public API approach? Can an app using the Navigation entitlement and ordinary Siri support, without the CarPlay Communication entitlement, initiate this Siri reply flow from an onscreen button? Is CPMessageComposeBarButton supported on CPMapTemplate in this configuration? Would it route INSendMessageIntent to our own app, and how could we bind it to the existing passenger and conversationIdentifier? Since CPContactTemplate supports Navigation, could CPContactMessageButton provide this functionality? How would it select Go Mobi’s messaging service and conversation rather than relying only on a phone number or email address? If no supported onscreen entry point exists, what single-app approach does Apple recommend? Would invocation through Siri voice commands or the steering-wheel Siri button be supported instead? Please identify the applicable public APIs and entitlement requirements, or confirm which part of the requested experience is unsupported. We are currently testing with synthetic conversations and want to follow the documented CarPlay interaction and safety requirements. Thank you.
Replies
0
Boosts
0
Views
122
Activity
3w
CarPlay Video entitlement pending for 15 days — is there an escalation path?
We submitted a request for the CarPlay Video entitlement (com.apple.developer.carplay-video) on September 15, 2026, and have not received an approval, rejection, or request for additional information after 15 days. We have already followed up through the original entitlement email thread and contacted Apple Developer Support several times. Across these exchanges, we have provided the same core information at least four times, including the entitlement Case-ID, submission date, business need, and confirmation email. However, several replies have simply asked us to provide the same information again. Developer Support has also confirmed that CarPlay entitlement requests are handled by a different team and that they do not have a direct contact or support channel for that reviewing team. At this point, is there any escalation path for a CarPlay Video entitlement request that has been pending without an update? Or is waiting several weeks currently normal for these requests? Any guidance from an Apple engineer or developers who have recently gone through the CarPlay Video entitlement process would be greatly appreciated. Thank you
Replies
3
Boosts
1
Views
369
Activity
3w
CarPlay - Navigation Entitlement
We went through Apple's CarPlay documentation and, based on what we found, CarPlay provides templates for both Navigation and Audio, and our app has entitlements for both. One thing we would like to confirm before proceeding with implementation is whether a single app can expose both Navigation and Audio experiences in CarPlay, using both entitlements. Specifically, can the same CarPlay app provide a navigation experience (e.g., using CPMapTemplate) while also exposing an Audio/"Now Playing" experience, or does Apple expect these experiences to be implemented as separate apps or otherwise treated as separate CarPlay experiences? We'd also like to confirm whether CarPlay now allows an app to display a split-screen interface with navigation/map content on one side and audio controls or "Now Playing" controls on the other side. If so, is this something a single app with both Navigation and Audio entitlements can implement? The documentation explains the available templates and entitlements, but we couldn't find explicit guidance on whether the same app can leverage both Navigation and Audio experiences or whether these can be presented together in a split-screen layout. We'd like to clarify this before implementing the "Now Playing" screen, to ensure our approach aligns with Apple's CarPlay requirements and guidelines.
Replies
2
Boosts
0
Views
1.6k
Activity
3w
CarPlay category eligibility for private territory destinations with Apple Maps handoff
We are evaluating CarPlay support for Waidruf, an iPhone app for managing private hunting territories. Our intended in-car scope is limited to selecting a previously saved access point, parking location or hunting stand and handing driving directions to Apple Maps. We would also like to understand whether showing the territory and current location on a map is permitted. No territory editing, hunting administration or account configuration would be exposed in CarPlay. We do not currently provide our own turn-by-turn navigation. After reviewing section 3.10 of the CarPlay Entitlement Addendum and the CarPlay Developer Guide dated October 13, 2026, we understand that Driving Task must not primarily be a POI/location finder and cannot use custom maps. The guide also requires Navigation apps to provide turn-by-turn directions with upcoming maneuvers. Parking would not cover our mixed destination types. Is there a supported CarPlay entitlement category for this exact destination-selection and Apple Maps handoff use case? If not, can you confirm that we should keep destination selection on the iPhone and limit any CarPlay-facing extension to supported widgets or Live Activities, subject to their own restrictions? We are asking for eligibility guidance before applying for an entitlement or implementing a CarPlay interface, and are not seeking to bypass category requirements. Thank you.
Replies
0
Boosts
0
Views
91
Activity
3w
CarPlay audio entitlement approved, but profiles only include playable-content
My audiobook app was approved for the CarPlay audio entitlement, but every development provisioning profile I generate, whether automatic or manual through the API, includes only com.apple.developer.playable-content, never com.apple.developer.carplay-audio. Because of that, CPTemplateApplicationScene never connects, so I can't build with the template-based CarPlay APIs. I've regenerated profiles daily for a few weeks and always get the same result. It's filed as FB24899531. Has anyone else seen the newer carplay-audio key missing after approval? Did Apple have to re-apply the entitlement on their side, or is there a step I'm missing on the App ID? Thanks!
Replies
0
Boosts
0
Views
184
Activity
3w
CarPlay custom symbols missing on iOS 27
We’re seeing custom symbol images disappear in CarPlay on iOS 27.0. Their text labels remain visible, and built-in SF Symbols still display correctly. We reproduced this in a small standalone app using: CPGridButton in CPListTemplate.headerGridButtons CPListImageRowItemCondensedElement The custom symbol is an SVG symbol asset loaded from a resource bundle: UIImage(named: "chapters", in: resourceBundle, compatibleWith: nil)?.withRenderingMode(.alwaysTemplate) For comparison, the same screen displays the built-in dot.radiowaves.left.and.right symbol. On iOS 26.6.1, the custom symbol and built-in symbol appear correctly in both controls. On iOS 27.0, the custom symbol is missing from both controls, while the built-in symbol remains visible. The failing device is an iPhone 13 Pro running iOS 27.0 (24A437), with the sample built using Xcode 27.0 (27A266a). Has anyone else encountered this? Is this a known regression, or is there a new requirement forsupplying custom symbols to CarPlay? Filed as FB24806621, with the standalone project and comparison photos.
Replies
2
Boosts
1
Views
385
Activity
3w