Add CarPlay support to your navigation app using CarPlay.

Posts under CarPlay tag

200 Posts

Post

Replies

Boosts

Views

Activity

Rejected for CarPlay Audio + Video, but the submitted build has no Audio entitlement
CapDrive 1.2.1 (Build 27) has been repeatedly rejected under Guideline 2.5.1. App Review says the app uses both CarPlay Audio and Video entitlements and asks us to remove Video. That explanation does not match the build evidence. The main app's inspected CarPlay entitlements are: com.apple.developer.carplay-driving-task = true com.apple.developer.carplay-video = trueThere is no com.apple.developer.carplay-audio entitlement in the inspected main app or Live Activity extension. We checked the archive and a fresh App Store distribution re-export. More importantly, Apple's own App Store Connect metadata for the actual uploaded Build 27 shows Driving Task and Video, with no Audio entitlement. We explained this discrepancy on November 4 and asked Apple to identify where Audio was detected. On November 5, we received the same rejection explanation again, without an answer to that question. Please identify the specific binary path, bundle identifier, and exact entitlement key/value where Audio was detected. If that finding is incorrect, please correct the rejection reason and explain the actual issue in this build. Repeating the same rejection while ignoring concrete, verifiable evidence is unacceptable. We cannot fix an Audio entitlement that the build evidence does not contain. Please inspect the actual submitted build and provide a specific, actionable explanation.
1
0
147
4d
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
171
6d
CarPlay Video entitlement causes blank screen and no CPTemplateApplicationScene callbacks
I have CarPlay Video enabled for my account and App ID. I tested both my main app and a completely new minimal iOS app with a new Bundle ID. The minimal app only contains: UIApplicationDelegate CPTemplateApplicationScene configuration CPTemplateApplicationSceneDelegate A single CPListTemplate root Results: With com.apple.developer.carplay-audio only, CarPlay launches normally. When com.apple.developer.carplay-video is added, CarPlay opens a blank screen. No CarPlay callbacks are called: application(:configurationForConnecting:options:) CPTemplateApplicationSceneDelegate.templateApplicationScene(:didConnect:) CPApplicationDelegate.didConnectCarInterfaceController The signed app and embedded provisioning profile both contain com.apple.developer.carplay-video. Does CarPlay Video require an additional runtime allowlist, specific head unit support, a different scene configuration, or another entitlement beyond com.apple.developer.carplay-video?
5
1
1.1k
6d
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
53
6d
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
35
6d
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
62
1w
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
992
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
271
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
296
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
133
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.7k
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
99
4w
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
243
4w
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
394
Oct ’26
CarPlay entitlement request form submits empty description fields — Video request pending since Oct 2
Hi, I requested the CarPlay Video entitlement for my app on October 2 and again on October 3, 2026 (Case-IDs 22627198 and 22644963, Team ID 48482B7BH9, bundle ID com.bubisoft.cartv). Both times, the "Tell us about your app" and "CarPlay features" fields arrived empty in the acknowledgment email, even though I filled them in on the form. I sent the full details as a reply in the case thread, and got an automatic "threaded to your original request" response, but no human reply in 8 days. The app is live on the App Store: a playlist/video player. CarPlay use is limited to video playback while the vehicle is parked, with audio-only fallback while driving, following the CarPlay Developer Guide. Two questions: Is the empty-fields issue a known problem with the request form, and could it cause a request to be set aside as incomplete? Should I submit a fresh request, or is replying in the existing case thread the correct way to supply the missing details? Thanks!
0
0
809
Oct ’26
Fixed preset positions and playback controls without scrolling
Is there a supported CarPlay audio template configuration that keeps six—or ideally nine—preset buttons in fixed positions, with space reserved for transport controls, without introducing scrolling or moving or resizing the presets when playback controls appear? I’ve attached a rough mockup of the proposed layout and a screenshot of our current implementation using CarPlay templates. The goal is to provide larger, more readable buttons in consistent locations across radio, podcast, and Apple Music playback. This enhancement request has also been submitted through Feedback Assistant: FB25114973.
1
0
209
Oct ’26
Rejected for CarPlay Audio + Video, but the submitted build has no Audio entitlement
CapDrive 1.2.1 (Build 27) has been repeatedly rejected under Guideline 2.5.1. App Review says the app uses both CarPlay Audio and Video entitlements and asks us to remove Video. That explanation does not match the build evidence. The main app's inspected CarPlay entitlements are: com.apple.developer.carplay-driving-task = true com.apple.developer.carplay-video = trueThere is no com.apple.developer.carplay-audio entitlement in the inspected main app or Live Activity extension. We checked the archive and a fresh App Store distribution re-export. More importantly, Apple's own App Store Connect metadata for the actual uploaded Build 27 shows Driving Task and Video, with no Audio entitlement. We explained this discrepancy on November 4 and asked Apple to identify where Audio was detected. On November 5, we received the same rejection explanation again, without an answer to that question. Please identify the specific binary path, bundle identifier, and exact entitlement key/value where Audio was detected. If that finding is incorrect, please correct the rejection reason and explain the actual issue in this build. Repeating the same rejection while ignoring concrete, verifiable evidence is unacceptable. We cannot fix an Audio entitlement that the build evidence does not contain. Please inspect the actual submitted build and provide a specific, actionable explanation.
Replies
1
Boosts
0
Views
147
Activity
4d
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
171
Activity
6d
CarPlay Video entitlement causes blank screen and no CPTemplateApplicationScene callbacks
I have CarPlay Video enabled for my account and App ID. I tested both my main app and a completely new minimal iOS app with a new Bundle ID. The minimal app only contains: UIApplicationDelegate CPTemplateApplicationScene configuration CPTemplateApplicationSceneDelegate A single CPListTemplate root Results: With com.apple.developer.carplay-audio only, CarPlay launches normally. When com.apple.developer.carplay-video is added, CarPlay opens a blank screen. No CarPlay callbacks are called: application(:configurationForConnecting:options:) CPTemplateApplicationSceneDelegate.templateApplicationScene(:didConnect:) CPApplicationDelegate.didConnectCarInterfaceController The signed app and embedded provisioning profile both contain com.apple.developer.carplay-video. Does CarPlay Video require an additional runtime allowlist, specific head unit support, a different scene configuration, or another entitlement beyond com.apple.developer.carplay-video?
Replies
5
Boosts
1
Views
1.1k
Activity
6d
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
53
Activity
6d
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
35
Activity
6d
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
62
Activity
1w
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
992
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
271
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
296
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
133
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.7k
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
99
Activity
4w
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
243
Activity
4w
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
394
Activity
Oct ’26
CarPlay entitlement request form submits empty description fields — Video request pending since Oct 2
Hi, I requested the CarPlay Video entitlement for my app on October 2 and again on October 3, 2026 (Case-IDs 22627198 and 22644963, Team ID 48482B7BH9, bundle ID com.bubisoft.cartv). Both times, the "Tell us about your app" and "CarPlay features" fields arrived empty in the acknowledgment email, even though I filled them in on the form. I sent the full details as a reply in the case thread, and got an automatic "threaded to your original request" response, but no human reply in 8 days. The app is live on the App Store: a playlist/video player. CarPlay use is limited to video playback while the vehicle is parked, with audio-only fallback while driving, following the CarPlay Developer Guide. Two questions: Is the empty-fields issue a known problem with the request form, and could it cause a request to be set aside as incomplete? Should I submit a fresh request, or is replying in the existing case thread the correct way to supply the missing details? Thanks!
Replies
0
Boosts
0
Views
809
Activity
Oct ’26
Fixed preset positions and playback controls without scrolling
Is there a supported CarPlay audio template configuration that keeps six—or ideally nine—preset buttons in fixed positions, with space reserved for transport controls, without introducing scrolling or moving or resizing the presets when playback controls appear? I’ve attached a rough mockup of the proposed layout and a screenshot of our current implementation using CarPlay templates. The goal is to provide larger, more readable buttons in consistent locations across radio, podcast, and Apple Music playback. This enhancement request has also been submitted through Feedback Assistant: FB25114973.
Replies
1
Boosts
0
Views
209
Activity
Oct ’26