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

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
790
3w
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
202
3w
Does CarPlay connection make remote audio SharePlay ineligible?
We need clarification about whether remote audio SharePlay using GroupActivities is supported while an iPhone is connected to CarPlay. Our audiobook app uses GroupActivities with activity metadata set to .listenTogether. SharePlay works normally between two iPhones without CarPlay. Across seven controlled comparisons on two iPhones running iOS 27.0.1, we observed: Connecting CarPlay during a working SharePlay session causes the connected phone’s session to invalidate and GroupStateObserver.isEligibleForGroupSession to become false. With CarPlay already connected, the system SharePlay UI displays the session and allows an apparent join, but our app receives no GroupSession. This occurs whether the CarPlay phone is host or receiver and reproduces on either phone. It also occurs when audio remains routed to Bluetooth headphones rather than CarPlay. We observed the same user-facing behavior when testing Spotify’s remote SharePlay. Is this expected platform behavior, a known issue, or an application configuration requirement? If this combination is supported, what public API or configuration should applications use? If this combination is not supported, is there a supported path to allow synchronous remote audio while on carplay? We are asking about remote GroupActivities SharePlay, not Apple Music’s in-car passenger SharePlay feature.
0
0
176
3w
CPListTemplateDetailsHeader: CPButton only responds to taps on part of its visible area (iOS 27)
In a CarPlay app using the driving-task entitlement, an enabled CPButton in a CPListTemplateDetailsHeader does not respond across its full visible area. Tapping the upper part of the button (above the title text) invokes the handler. Tapping the text, or the area below it, does nothing. I can reproduce this in both the CarPlay Simulator and on a real CarPlay display. Environment Xcode 27.0 (27A266a), macOS 27.0 iOS 27.0 Entitlement: com.apple.developer.carplay-driving-task Sample project A minimal project that reproduces it is attached. It builds a CPListTemplate with a CPListTemplateDetailsHeader containing a single action button ("Continue Trip" on the trip screen, "Next Stop" on the day screen). When the handler fires, the app presents a CPAlertTemplate, logs to the console, and increments a counter on the phone screen, so a successful tap is unambiguous. Relevant code let image = UIImage(systemName: "calendar.badge.clock") ?? UIImage() let button = CPButton(image: image) { [weak self] _ in self?.showAlert("Continue Trip handler called") } button.title = "Continue Trip" button.isEnabled = true let header = CPListTemplateDetailsHeader( thumbnail: thumbnail, title: "Coastal Road Trip", subtitle: "Sep 23 – Sep 25", bodyVariants: bodyVariants.map { NSAttributedString(string: $0) }, actionButtons: [button] ) header.wantsAdaptiveBackgroundStyle = true let template = CPListTemplate(title: "Coastal Road Trip", listHeader: header, sections: [], assistantCellConfiguration: nil) Steps to reproduce Run the project on an iOS 27 iPhone with CarPlay connected, or use the CarPlay Simulator. Open the app on CarPlay and select Coastal Road Trip from Trips. Tap different parts of the Continue Trip button in the header. After a successful tap, dismiss the alert and try another part of the button. Select a day card and repeat with Next Stop in the day details header. Compare taps that show the alert / log a console message with taps that produce no response. Expected: the action fires when any part of the visible, enabled button is tapped. Actual: only part of the button (the upper region) fires the handler. The tappable area appears misaligned with the visible button. What I've checked The header and button are the system-provided CPListTemplateDetailsHeader and CPButton, so I have no access to the underlying view hierarchy or constraints. An overlapping view of my own is not possible. The button is enabled and has both an image and a title. Questions Is this a known issue with CPListTemplateDetailsHeader action buttons in iOS 27? Is there any supported configuration (image-only button, different image size, no bodyVariants, etc.) that avoids the misaligned hit area? Apple DTS case: 22419931. Thanks!
3
0
144
Oct ’26
Wireless CarPlay pairing flow — carkitd exits before [connect CarPlay] on initial pairing (iOS 26.5 / 23F77)
We are investigating a wireless CarPlay connection failure between our vehicle headunit and iPhone, and have identified a suspicious pattern in the carkitd pairing flow through analysis of iPhone sysdiagnose logs. As we have been unable to fully interpret certain behaviors on our own, we would greatly appreciate any guidance or clarification Apple could provide. The original sysdiagnose log file is available upon request. Failure case — UTC 07:14 07:14:25 [carkitd] Transitioning: [started] → [Bluetooth confirmation] 07:14:26 [carkitd] Transitioning: [Bluetooth confirmation] → [Bluetooth contacts sync] 07:14:27 [carkitd] Transitioning: [Bluetooth contacts sync] → [waiting on messaging connection] 07:14:32 [carkitd] Consolidated ... CARiAPAuthComplete payload for event type 5 07:14:32 [accessoryd] sending EAAccessoryArrived to carkitd for accessory: Ioniq5566 07:14:32 [carkitd] updated partial session (null) (hasAccessory = NO) * CARCarKitWirelessPairingCreatedEvent not observed * [connect CarPlay] not entered 07:14:57 [carkitd] Transitioning: [waiting on messaging connection] → [dismiss/finished] ← Terminates ~25 sec later without sending CarPlayAvailability Success case (Ioniq5) — UTC 07:12 (same sysdiagnose file, same iPhone) 07:12:05 [carkitd] Transitioning: [Bluetooth contacts sync] → [waiting on messaging connection] 07:12:12 [carkitd] CARCarKitWirelessPairingCreatedEvent received 07:12:14 [carkitd] Transitioning: [waiting on messaging connection] → [connect CarPlay] 07:12:18 [carkitd] sending CarPlayAvailability {wireless: YES BT: <private>} ← Wireless CarPlay established successfully The only observable difference between the two cases is whether CARCarKitWirelessPairingCreatedEvent occurs. Could you help us understand what conditions prevent this event from being generated, and whether there is a fallback path into [connect CarPlay] when it is absent? Any insight would be greatly appreciated. Thank you for your time.
1
0
1.1k
Oct ’26
iOS 27 CarPlay audio: supported Search/Siri control beside MiniPlayer?
We are developing an audio-entitled CarPlay app with Xcode 27.0 (27A266a), targeting iOS 27. Apple Music displays a circular magnifying-glass control beside the MiniPlayer while its root tabs remain visible. Selecting it starts a Siri media request. We want the supported equivalent in our audio app without reserving an assistant row on every browsing screen. Our root is CPTabBarTemplate containing native list templates. The current CPBarButtonProviding documentation explicitly says root templates in a tab bar do not display leading/trailing bar buttons. We have checked the iOS 27 public headers, the June 8, 2026 CarPlay Developer Guide, WWDC26 session 212 and the current downloadable CarPlay Music sample. The public Siri-media entry point we found is CPAssistantCellConfiguration(assistantAction: .playMedia). Could Apple clarify: Does iOS 27 expose a separate system Search/Siri control beside MiniPlayer for third-party audio apps? If so, which public API or configuration enables it while retaining the root tabs? Does CPTemplate.tabSystemItem = .search receive any special placement or activation behavior in iOS 27 CarPlay, or is it only an ordinary tab icon/title? Is there a supported public media-Siri activation API for a CPBarButton, independent of the messaging-only compose button and the assistant cell? We are asking about Apple's Siri, not an app-owned voice recognizer. Typed search through CPSearchTemplate is a separate capability. If this first-party control is unavailable publicly, please confirm that distinction and consider a compact system media-Siri entry point for audio apps.
0
0
205
Oct ’26
iOS 27: CPNowPlayingTemplate does not follow the active Now Playing client between an app's own client and its ApplicationMusicPlayer client (FB24840951)
On iOS 27, an app of mine that plays both its own audio and Apple Music tracks has two Now Playing clients in MediaRemote, as any app using ApplicationMusicPlayer.shared does: its own process's MPNowPlayingInfoCenter.default(), and MusicKit's player hosted out of process by com.apple.MediaPlayer.RemotePlayerService. MediaRemote elects between them correctly - the client whose process is making sound becomes active - and both the Lock Screen and the CarPlay dashboard follow the change. My CPNowPlayingTemplate does not. It stays on whichever client it was on when the change happened, so during an Apple Music track the car shows my own (now stale) entry with the clock frozen and a play glyph while music is audible; in some sessions the reverse, where my own audio after a track gets a blank template whose play presses are delivered to MusicKit's empty player and interrupt playback. From mediaremoted on iOS 27, handlePlaybackQueueRequest from CarPlayTemplateUIHost returns for (pid) > default throughout a track, and no contentItemChange for the RemotePlayerService path is ever posted to CarPlayTemplateUIHost, though it is posted to springboard, CarPlayApp and MediaRemoteUI. On iOS 26.6.1 with the same build, the same template host reads and commands RemotePlayerService/ during the track and > default afterwards. So the routing of commands to the active client is not what changed - what the template reads and sends to is. Filed as FB24840951 with mediaremoted captures from both OS versions, full sysdiagnose archives and screen recordings of the car screen beside the Lock Screen. Two questions: Is there a supported way for an audio app to tell CPNowPlayingTemplate which of its Now Playing clients to display? MPNowPlayingSession looks like the intended mechanism but accepts only AVPlayer instances, so it cannot represent either an AVAudioEngine graph or MusicKit's player; tested with a dormant AVPlayer it reported isActive == true every time and moved the template on some tracks and not others. Does the new MiniPlayer affect this? WWDC26's "Rev up your CarPlay app" says the MiniPlayer is new in iOS 27 and appears automatically for every app that shows now playing. Since the template was reworked in the same release this regressed in, does CPNowPlayingTemplate.shared.allowsMiniPlayer = false change which client is read? I have not tested it yet and will report back either way. Meanwhile the only thing that moves the car is republishing my own entry once a second as a new content item, which the template does re-read, so the clock steps instead of freezing. That ships in PodMelody 1.1.4, a workaround for an OS bug rather than a fix - and it doesn't resolve the mismatched play/pause glyph. If you have an audio app using ApplicationMusicPlayer and CarPlay, I would be glad to know whether you see the same thing, and in which car - duplicates on the Feedback are what get these prioritised.
1
0
458
Oct ’26
CarPlay Simulator shows an empty black screen on iOS27
Under Xcode 27 beta (27A5194q) the built-in CarPlay external screen from iOS simulator can be launched but shows an empty black screen every time on iOS27 device configurations. I have tested many different simulated devices (iPhone 17, 17 pro, 17 pro max) and different screen resolutions. Under iOS26.3 it works as expected. Is this a known issue? Is there any workaround or fix?
1
2
1.3k
Oct ’26
How can a CarPlay voice-based conversational app let the car show and control an active conversation?
We make Alchemy, a leadership coaching app on the App Store. In Alchemy hands-free mode, a person talks with their coach out loud. It is a live, two-way voice conversation over the internet, started from a button in the app. Many of our users do this while out for a walk and especially while driving. Here is how it looks on Audroid Auto : We have requested the CarPlay voice-based conversation entitlement (com.apple.developer.carplay-voice-based-conversation) and plan to build the CarPlay screen with CPVoiceControlTemplate. Question: for an app with this entitlement, what is the supported way to let the car know that a conversation is active, so that the car can show it on its own displays (for example a name or title in the instrument cluster) and the driver can pause or end it with the steering wheel controls? What we want. On an Android phone connected to the same car (an Audi with a digital instrument cluster), our voice conversation appears in the cluster's header as an active call with a name, and the steering wheel button ends it. We would like the same for iPhone users, using the APIs Apple intends. What we tried. iPhone 13, iOS 27.2 beta, wired CarPlay, same car: We started the conversation as an outgoing CallKit call (CXStartCallAction, generic handle, localizedCallerName set), with the audio background modes. The phone showed a call. The instrument cluster did not change, and the CarPlay Phone screen showed nothing. With the audio background mode only, the conversation works well through the car speakers and microphone, on the Home Screen and with the phone locked. The instrument cluster stays on the radio station, and CarPlay shows only the orange microphone indicator. If the car's own displays cannot show a voice-based conversational app's session, that is a useful answer too. In that case, what can the Voice Control template show the driver, and can the steering wheel controls act on the conversation at all? The goal is truly hands free so nobody gets a ticket while getting coaching help. 👍 Thank you.
0
0
116
Sep ’26
CarPlay Video entitlement: approval timeline?
Hi everyone, I recently submitted a request for the CarPlay Video App entitlement (com.apple.developer.carplay-video) via Apple's CarPlay entitlement request form. I submitted the request about a week ago, but I haven't received any update yet — no approval, rejection, or request for additional information. About the app: It is a video player designed for user-provided M3U/M3U8 playlists and locally imported media files. The app does not host, provide, or stream any built-in content itself. It follows Apple's CarPlay Video APIs and is intended to support video playback only when the vehicle permits video playback, such as when parked. I've noticed recent discussions from developers who already hold the CarPlay Video entitlement, but details regarding the review timeline seem quite limited. For developers who have successfully obtained the CarPlay Video entitlement: Approximately how long did it take from submitting the request form to receiving the entitlement decision? Did Apple reach out for additional details or clarification during the review process? Did you need an active TestFlight build or App Store submission prior to receiving the entitlement? Is there any dashboard or portal to track the status of a CarPlay entitlement request, or is email the only channel? Any insights from your experience would be greatly appreciated! Thanks!
0
0
425
Sep ’26
CarPlay Simulator (from Additional tools) stuck on "Connecting to phone" since March 4th
We're experiencing an issue where the CarPlay Simulator (from Apple Developer Additional Tools) stopped connecting to our iPhones as of March 4th, 2025. The simulator gets stuck indefinitely on "Connecting to phone" and never completes the pairing. Environment App: Oracle Field Service iOS app (with CarPlay support) Tool: CarPlay Simulator from Apple Developer Additional Tools (developer.apple.com/download/all/) Issue start date: Wednesday, March 4th, 2025 Tested on: Multiple Mac machines, multiple iPhones Multiple CarPlay Simulator versions tested What's happening The CarPlay Simulator launches but displays "Connecting to phone" indefinitely. It was working correctly prior to March 4th with no changes on our end. What still works CarPlay functions correctly when the same iPhone is connected to a real car, confirming the issue is specific to the simulator. Troubleshooting steps already attempted Reset permissions and re-added the simulator Forgot the simulator and re-paired it Changed the USB cable Tested on multiple Mac machines Tested on multiple iPhones Tried multiple versions of the CarPlay Simulator Confirmed no VPN is in use Confirmed with IT, no OS updates or enterprise restrictions were applied Questions Has anyone else experienced this since March 4th? Was there a change in CarPlay Simulator behavior or a requirement on the Apple side (certificate, entitlement, protocol) around that date? Is there a known workaround or fix?
5
7
2.0k
Sep ’26
CarPlay: App Icon doesn't display badge count.
On the CarPlay view of our iOS app, we cannot get our CarPlay app icon to show a red badge count like our regular iPhone app icon does. This is using either UNUserNotificationCenter.current().setBadgeCount() and also relying on the content.badge value in local notifications. I see other non-Apple apps (WhatsApp for eg) can display badge counts on their icons, so know it must be possible. Our app is Driving Task category app. Is there some restriction on this category of app that would prevent badge counts showing? Is there some other user setting that would prevent badge counts showing?
0
0
247
Sep ’26
Low-latency, high-quality audio route w/wireless CarPlay?
Is there a supported way for a CarPlay audio app to request a lower-latency wireless playback route without communications-style audio processing or restricted volume behavior? .playback + .default on wired CarPlay gets you ~60ms latency route. The same on wireless CarPlay gets you ~1100ms latency. I know that wireless CarPlay can support faster connections as I have tested them. playAndRecord + .default and .playback + .voicePrompt negotiate approximately 160 ms output/presentation latency. However, on this head unit those paths have unacceptable side effects: The duplex route negotiates 24 kHz mono and removes or severely attenuates bass/haptic-engine content. The voice-prompt route alters volume semantics: steering-wheel/head-unit volume does not control our app’s level, and it appears to apply voice-oriented EQ or other processing. These routes therefore cannot substitute for full-bandwidth media playback, even though their latency is much better. 24 kHz mono would actually work for our app, if only it preserved the signal without voice/telephony EQ, bass removal, or special prompt-bus volume policy. Is there a documented, supported public API or AVAudioSession configuration (or other API even) that lets a CarPlay audio app request that kind of low-latency wireless media route? If not, is this an intentional limitation of wireless CarPlay media playback, and is there an appropriate enhancement-request path for real-time audio applications?
0
0
428
Sep ’26
CarPlay steering wheel Answer/End Call buttons not working on iPhone 17 Pro Max – buttons work over Bluetooth and with another iPhone
I’m experiencing a specific issue with Apple CarPlay and the steering-wheel phone controls in my 2026 Chery FX HEV. The problem is that when my iPhone 17 Pro Max is connected to CarPlay, I cannot answer or end phone calls using the steering-wheel Answer/End Call buttons (green/red phone buttons). The important part is that the buttons and the vehicle itself appear to be working correctly: When the iPhone is connected through Bluetooth only, without CarPlay, the steering-wheel Answer/End Call buttons work normally. When using CarPlay, I can still answer/end the call from the vehicle’s touchscreen, so calling itself works. Siri/voice control from the steering wheel works while CarPlay is active. I tested another iPhone (iPhone 14 running a non-beta/stable iOS version) in the same vehicle, and the steering-wheel Answer/End Call buttons worked correctly with CarPlay. Therefore, this appears to be specific to the interaction between my iPhone/iOS version and CarPlay rather than a defective steering-wheel button. What I have already tried I have tried: Removing/forgetting the vehicle from the iPhone and setting up CarPlay again multiple times. Removing and reconnecting Bluetooth. Restarting/force restarting the iPhone. Testing wireless CarPlay. Testing wired CarPlay using a USB cable. Testing Bluetooth without CarPlay — steering-wheel phone buttons work correctly. Testing another iPhone in the same car — the buttons work correctly with CarPlay. Testing short and long presses of the steering-wheel phone buttons. Checking Siri/voice control — this works correctly through the steering wheel. Answering calls directly from the CarPlay/vehicle touchscreen — this also works correctly. I also tried using a wired connection while attempting to remap/reconfigure the steering-wheel button, but this did not solve the problem. Any suggestions for additional troubleshooting, logs, diagnostics, or a way to reset/remap the CarPlay steering-wheel call controls would be appreciated.
1
0
292
Sep ’26
CPListItem and CPListImageRowItem text limited to 1 line on iOS 27
On iOS 27, CPListItem.text and CPListImageRowItem.text` are rendered as single-line with ellipsis truncation, regardless of the available vertical space. On iOS 26 and earlier, these properties wrapped to 2 lines before truncating. There is no public API (numberOfLines, lineLimit, or similar) on CPListItem, CPListImageRowItem, or CPListSection to control the number of text lines. The change appears to be a platform-level rendering default with no app-side opt-out. Steps to Reproduce Create a CPListTemplate with sections containing CPListItem or CPListImageRowItem items. Set the text property to a string long enough to require wrapping. Present the template via CPInterfaceController. Run on iOS 27. Expected Results The text property should wrap to multiple lines (2-3 lines) before truncating with an ellipsis, consistent with iOS 26 behavior. Row height should adjust dynamically to accommodate the wrapped text. Actual Results The text property is truncated to a single line with ellipsis. Row height remains fixed at a larger size, creating excessive vertical spacing between items. Environment iOS 27.0 (CarPlay) - issue present Xcode 27.0 beta 4 (27A5218g) Tested on physical CarPlay head unit and CarPlay Simulator
5
0
1.4k
Sep ’26
tabbar creating issue when loading an Empty CPListTemplate
I NEED TO DISPLAY two tabs in a CarPlay TabBarTemplateBuilder: Tab 1: Initially shows an empty list with a loading message, then updates with data when API call completes Tab 2: Immediately displays proper sections with data without waiting for Tab 1 to load Issues Occurring Issue #1: Second Tab Selection Unreliable Tapping the second tab doesn't switch tabs on some devices Only swiping left/right switches tabs (workaround) Behavior is inconsistent across devices **Issue #2: Second** Tab Title Not Visible Until Tab 1 Loads Even though Tab 2 loads its data asynchronously and independently Tab 2's title doesn't appear in the tab bar until Tab 1 finishes loading and populating This creates a poor user experience with missing/delayed tab labels
0
0
1.2k
Aug ’26
CarPlay - getting Progress Indicator on Image Row Condensed Element?
In our CarPlay implementation, I've been trying to get the progress indicator to appear on an image row item using the condensed element style. Is this possible? I have been able get spinners to appear on regular list items, but not on image row condensed elements. Trying to figure out what this means from the docs for listImageRowHandler: "CarPlay displays an asynchronous progress indicator until you call the completion closure." https://developer.apple.com/documentation/carplay/cplistimagerowitem/listimagerowhandler Here is a snippet of my code for the handler: let elements = myShortcuts.enumerated().map { index, shortcut in let element = CPListImageRowItemCondensedElement( // code here... ) return element } let row = CPListImageRowItem(text: nil, condensedElements: elements, allowsMultipleLines: true) row.listImageRowHandler = { [weak self] _, index, completion in self?.operate(at: index) { completion() } }
0
0
429
Aug ’26
includeAllNetworks still breaks wired CarPlay
I'm an developer and a fans of Apple, writing because you handled a forum thread that exactly matches an issue I can still reproduce today: "VPN causes CarPlay to not work" (developer.apple.com/forums/thread/712441), filed as FB11285432 back in August 2022. Summary: When any Packet Tunnel VPN with includeAllNetworks enabled is active, wired CarPlay fails to establish a connection. The phone charges normally, but the head unit never detects CarPlay. Steps to reproduce (iPhone on iOS [iOS 26.5.2], [Volkswagen's universal in-vehicle infotainment system for the 2023 and 2024 model years] head unit, USB-C wired CarPlay): Start a VPN configured with includeAllNetworks = true (reproduced with Shadowrocket; other users report the same with ExpressVPN, Google One VPN, etc.) Plug in the USB cable Result: CarPlay never connects. Charging works. Additional observations: With the VPN off, the same phone/cable/car connects instantly, ruling out hardware. If CarPlay is established first and the VPN is enabled afterward, the existing session keeps working — only the initial handshake/discovery is blocked. Consistent with thread 712441, excluding local networks does not help. This suggests includeAllNetworks blocks the mDNS/discovery traffic on the USB virtual Ethernet interface that CarPlay needs, with no exemption available. Two questions: Is there any supported configuration that allows includeAllNetworks and first-time CarPlay connection to coexist? If not, is FB11285432 still tracked? I'd be happy to file a new Feedback report referencing it with current repro details if that helps prioritization. Thanks for your time — your forum posts on Network Extension have been invaluable in diagnosing this.
0
0
938
Aug ’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
790
Activity
3w
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
202
Activity
3w
Does CarPlay connection make remote audio SharePlay ineligible?
We need clarification about whether remote audio SharePlay using GroupActivities is supported while an iPhone is connected to CarPlay. Our audiobook app uses GroupActivities with activity metadata set to .listenTogether. SharePlay works normally between two iPhones without CarPlay. Across seven controlled comparisons on two iPhones running iOS 27.0.1, we observed: Connecting CarPlay during a working SharePlay session causes the connected phone’s session to invalidate and GroupStateObserver.isEligibleForGroupSession to become false. With CarPlay already connected, the system SharePlay UI displays the session and allows an apparent join, but our app receives no GroupSession. This occurs whether the CarPlay phone is host or receiver and reproduces on either phone. It also occurs when audio remains routed to Bluetooth headphones rather than CarPlay. We observed the same user-facing behavior when testing Spotify’s remote SharePlay. Is this expected platform behavior, a known issue, or an application configuration requirement? If this combination is supported, what public API or configuration should applications use? If this combination is not supported, is there a supported path to allow synchronous remote audio while on carplay? We are asking about remote GroupActivities SharePlay, not Apple Music’s in-car passenger SharePlay feature.
Replies
0
Boosts
0
Views
176
Activity
3w
CPListTemplateDetailsHeader: CPButton only responds to taps on part of its visible area (iOS 27)
In a CarPlay app using the driving-task entitlement, an enabled CPButton in a CPListTemplateDetailsHeader does not respond across its full visible area. Tapping the upper part of the button (above the title text) invokes the handler. Tapping the text, or the area below it, does nothing. I can reproduce this in both the CarPlay Simulator and on a real CarPlay display. Environment Xcode 27.0 (27A266a), macOS 27.0 iOS 27.0 Entitlement: com.apple.developer.carplay-driving-task Sample project A minimal project that reproduces it is attached. It builds a CPListTemplate with a CPListTemplateDetailsHeader containing a single action button ("Continue Trip" on the trip screen, "Next Stop" on the day screen). When the handler fires, the app presents a CPAlertTemplate, logs to the console, and increments a counter on the phone screen, so a successful tap is unambiguous. Relevant code let image = UIImage(systemName: "calendar.badge.clock") ?? UIImage() let button = CPButton(image: image) { [weak self] _ in self?.showAlert("Continue Trip handler called") } button.title = "Continue Trip" button.isEnabled = true let header = CPListTemplateDetailsHeader( thumbnail: thumbnail, title: "Coastal Road Trip", subtitle: "Sep 23 – Sep 25", bodyVariants: bodyVariants.map { NSAttributedString(string: $0) }, actionButtons: [button] ) header.wantsAdaptiveBackgroundStyle = true let template = CPListTemplate(title: "Coastal Road Trip", listHeader: header, sections: [], assistantCellConfiguration: nil) Steps to reproduce Run the project on an iOS 27 iPhone with CarPlay connected, or use the CarPlay Simulator. Open the app on CarPlay and select Coastal Road Trip from Trips. Tap different parts of the Continue Trip button in the header. After a successful tap, dismiss the alert and try another part of the button. Select a day card and repeat with Next Stop in the day details header. Compare taps that show the alert / log a console message with taps that produce no response. Expected: the action fires when any part of the visible, enabled button is tapped. Actual: only part of the button (the upper region) fires the handler. The tappable area appears misaligned with the visible button. What I've checked The header and button are the system-provided CPListTemplateDetailsHeader and CPButton, so I have no access to the underlying view hierarchy or constraints. An overlapping view of my own is not possible. The button is enabled and has both an image and a title. Questions Is this a known issue with CPListTemplateDetailsHeader action buttons in iOS 27? Is there any supported configuration (image-only button, different image size, no bodyVariants, etc.) that avoids the misaligned hit area? Apple DTS case: 22419931. Thanks!
Replies
3
Boosts
0
Views
144
Activity
Oct ’26
Wireless CarPlay pairing flow — carkitd exits before [connect CarPlay] on initial pairing (iOS 26.5 / 23F77)
We are investigating a wireless CarPlay connection failure between our vehicle headunit and iPhone, and have identified a suspicious pattern in the carkitd pairing flow through analysis of iPhone sysdiagnose logs. As we have been unable to fully interpret certain behaviors on our own, we would greatly appreciate any guidance or clarification Apple could provide. The original sysdiagnose log file is available upon request. Failure case — UTC 07:14 07:14:25 [carkitd] Transitioning: [started] → [Bluetooth confirmation] 07:14:26 [carkitd] Transitioning: [Bluetooth confirmation] → [Bluetooth contacts sync] 07:14:27 [carkitd] Transitioning: [Bluetooth contacts sync] → [waiting on messaging connection] 07:14:32 [carkitd] Consolidated ... CARiAPAuthComplete payload for event type 5 07:14:32 [accessoryd] sending EAAccessoryArrived to carkitd for accessory: Ioniq5566 07:14:32 [carkitd] updated partial session (null) (hasAccessory = NO) * CARCarKitWirelessPairingCreatedEvent not observed * [connect CarPlay] not entered 07:14:57 [carkitd] Transitioning: [waiting on messaging connection] → [dismiss/finished] ← Terminates ~25 sec later without sending CarPlayAvailability Success case (Ioniq5) — UTC 07:12 (same sysdiagnose file, same iPhone) 07:12:05 [carkitd] Transitioning: [Bluetooth contacts sync] → [waiting on messaging connection] 07:12:12 [carkitd] CARCarKitWirelessPairingCreatedEvent received 07:12:14 [carkitd] Transitioning: [waiting on messaging connection] → [connect CarPlay] 07:12:18 [carkitd] sending CarPlayAvailability {wireless: YES BT: <private>} ← Wireless CarPlay established successfully The only observable difference between the two cases is whether CARCarKitWirelessPairingCreatedEvent occurs. Could you help us understand what conditions prevent this event from being generated, and whether there is a fallback path into [connect CarPlay] when it is absent? Any insight would be greatly appreciated. Thank you for your time.
Replies
1
Boosts
0
Views
1.1k
Activity
Oct ’26
iOS 27 CarPlay audio: supported Search/Siri control beside MiniPlayer?
We are developing an audio-entitled CarPlay app with Xcode 27.0 (27A266a), targeting iOS 27. Apple Music displays a circular magnifying-glass control beside the MiniPlayer while its root tabs remain visible. Selecting it starts a Siri media request. We want the supported equivalent in our audio app without reserving an assistant row on every browsing screen. Our root is CPTabBarTemplate containing native list templates. The current CPBarButtonProviding documentation explicitly says root templates in a tab bar do not display leading/trailing bar buttons. We have checked the iOS 27 public headers, the June 8, 2026 CarPlay Developer Guide, WWDC26 session 212 and the current downloadable CarPlay Music sample. The public Siri-media entry point we found is CPAssistantCellConfiguration(assistantAction: .playMedia). Could Apple clarify: Does iOS 27 expose a separate system Search/Siri control beside MiniPlayer for third-party audio apps? If so, which public API or configuration enables it while retaining the root tabs? Does CPTemplate.tabSystemItem = .search receive any special placement or activation behavior in iOS 27 CarPlay, or is it only an ordinary tab icon/title? Is there a supported public media-Siri activation API for a CPBarButton, independent of the messaging-only compose button and the assistant cell? We are asking about Apple's Siri, not an app-owned voice recognizer. Typed search through CPSearchTemplate is a separate capability. If this first-party control is unavailable publicly, please confirm that distinction and consider a compact system media-Siri entry point for audio apps.
Replies
0
Boosts
0
Views
205
Activity
Oct ’26
iOS 27: CPNowPlayingTemplate does not follow the active Now Playing client between an app's own client and its ApplicationMusicPlayer client (FB24840951)
On iOS 27, an app of mine that plays both its own audio and Apple Music tracks has two Now Playing clients in MediaRemote, as any app using ApplicationMusicPlayer.shared does: its own process's MPNowPlayingInfoCenter.default(), and MusicKit's player hosted out of process by com.apple.MediaPlayer.RemotePlayerService. MediaRemote elects between them correctly - the client whose process is making sound becomes active - and both the Lock Screen and the CarPlay dashboard follow the change. My CPNowPlayingTemplate does not. It stays on whichever client it was on when the change happened, so during an Apple Music track the car shows my own (now stale) entry with the clock frozen and a play glyph while music is audible; in some sessions the reverse, where my own audio after a track gets a blank template whose play presses are delivered to MusicKit's empty player and interrupt playback. From mediaremoted on iOS 27, handlePlaybackQueueRequest from CarPlayTemplateUIHost returns for (pid) > default throughout a track, and no contentItemChange for the RemotePlayerService path is ever posted to CarPlayTemplateUIHost, though it is posted to springboard, CarPlayApp and MediaRemoteUI. On iOS 26.6.1 with the same build, the same template host reads and commands RemotePlayerService/ during the track and > default afterwards. So the routing of commands to the active client is not what changed - what the template reads and sends to is. Filed as FB24840951 with mediaremoted captures from both OS versions, full sysdiagnose archives and screen recordings of the car screen beside the Lock Screen. Two questions: Is there a supported way for an audio app to tell CPNowPlayingTemplate which of its Now Playing clients to display? MPNowPlayingSession looks like the intended mechanism but accepts only AVPlayer instances, so it cannot represent either an AVAudioEngine graph or MusicKit's player; tested with a dormant AVPlayer it reported isActive == true every time and moved the template on some tracks and not others. Does the new MiniPlayer affect this? WWDC26's "Rev up your CarPlay app" says the MiniPlayer is new in iOS 27 and appears automatically for every app that shows now playing. Since the template was reworked in the same release this regressed in, does CPNowPlayingTemplate.shared.allowsMiniPlayer = false change which client is read? I have not tested it yet and will report back either way. Meanwhile the only thing that moves the car is republishing my own entry once a second as a new content item, which the template does re-read, so the clock steps instead of freezing. That ships in PodMelody 1.1.4, a workaround for an OS bug rather than a fix - and it doesn't resolve the mismatched play/pause glyph. If you have an audio app using ApplicationMusicPlayer and CarPlay, I would be glad to know whether you see the same thing, and in which car - duplicates on the Feedback are what get these prioritised.
Replies
1
Boosts
0
Views
458
Activity
Oct ’26
CarPlay Simulator shows an empty black screen on iOS27
Under Xcode 27 beta (27A5194q) the built-in CarPlay external screen from iOS simulator can be launched but shows an empty black screen every time on iOS27 device configurations. I have tested many different simulated devices (iPhone 17, 17 pro, 17 pro max) and different screen resolutions. Under iOS26.3 it works as expected. Is this a known issue? Is there any workaround or fix?
Replies
1
Boosts
2
Views
1.3k
Activity
Oct ’26
How can a CarPlay voice-based conversational app let the car show and control an active conversation?
We make Alchemy, a leadership coaching app on the App Store. In Alchemy hands-free mode, a person talks with their coach out loud. It is a live, two-way voice conversation over the internet, started from a button in the app. Many of our users do this while out for a walk and especially while driving. Here is how it looks on Audroid Auto : We have requested the CarPlay voice-based conversation entitlement (com.apple.developer.carplay-voice-based-conversation) and plan to build the CarPlay screen with CPVoiceControlTemplate. Question: for an app with this entitlement, what is the supported way to let the car know that a conversation is active, so that the car can show it on its own displays (for example a name or title in the instrument cluster) and the driver can pause or end it with the steering wheel controls? What we want. On an Android phone connected to the same car (an Audi with a digital instrument cluster), our voice conversation appears in the cluster's header as an active call with a name, and the steering wheel button ends it. We would like the same for iPhone users, using the APIs Apple intends. What we tried. iPhone 13, iOS 27.2 beta, wired CarPlay, same car: We started the conversation as an outgoing CallKit call (CXStartCallAction, generic handle, localizedCallerName set), with the audio background modes. The phone showed a call. The instrument cluster did not change, and the CarPlay Phone screen showed nothing. With the audio background mode only, the conversation works well through the car speakers and microphone, on the Home Screen and with the phone locked. The instrument cluster stays on the radio station, and CarPlay shows only the orange microphone indicator. If the car's own displays cannot show a voice-based conversational app's session, that is a useful answer too. In that case, what can the Voice Control template show the driver, and can the steering wheel controls act on the conversation at all? The goal is truly hands free so nobody gets a ticket while getting coaching help. 👍 Thank you.
Replies
0
Boosts
0
Views
116
Activity
Sep ’26
CarPlay Video entitlement: approval timeline?
Hi everyone, I recently submitted a request for the CarPlay Video App entitlement (com.apple.developer.carplay-video) via Apple's CarPlay entitlement request form. I submitted the request about a week ago, but I haven't received any update yet — no approval, rejection, or request for additional information. About the app: It is a video player designed for user-provided M3U/M3U8 playlists and locally imported media files. The app does not host, provide, or stream any built-in content itself. It follows Apple's CarPlay Video APIs and is intended to support video playback only when the vehicle permits video playback, such as when parked. I've noticed recent discussions from developers who already hold the CarPlay Video entitlement, but details regarding the review timeline seem quite limited. For developers who have successfully obtained the CarPlay Video entitlement: Approximately how long did it take from submitting the request form to receiving the entitlement decision? Did Apple reach out for additional details or clarification during the review process? Did you need an active TestFlight build or App Store submission prior to receiving the entitlement? Is there any dashboard or portal to track the status of a CarPlay entitlement request, or is email the only channel? Any insights from your experience would be greatly appreciated! Thanks!
Replies
0
Boosts
0
Views
425
Activity
Sep ’26
CarPlay Simulator (from Additional tools) stuck on "Connecting to phone" since March 4th
We're experiencing an issue where the CarPlay Simulator (from Apple Developer Additional Tools) stopped connecting to our iPhones as of March 4th, 2025. The simulator gets stuck indefinitely on "Connecting to phone" and never completes the pairing. Environment App: Oracle Field Service iOS app (with CarPlay support) Tool: CarPlay Simulator from Apple Developer Additional Tools (developer.apple.com/download/all/) Issue start date: Wednesday, March 4th, 2025 Tested on: Multiple Mac machines, multiple iPhones Multiple CarPlay Simulator versions tested What's happening The CarPlay Simulator launches but displays "Connecting to phone" indefinitely. It was working correctly prior to March 4th with no changes on our end. What still works CarPlay functions correctly when the same iPhone is connected to a real car, confirming the issue is specific to the simulator. Troubleshooting steps already attempted Reset permissions and re-added the simulator Forgot the simulator and re-paired it Changed the USB cable Tested on multiple Mac machines Tested on multiple iPhones Tried multiple versions of the CarPlay Simulator Confirmed no VPN is in use Confirmed with IT, no OS updates or enterprise restrictions were applied Questions Has anyone else experienced this since March 4th? Was there a change in CarPlay Simulator behavior or a requirement on the Apple side (certificate, entitlement, protocol) around that date? Is there a known workaround or fix?
Replies
5
Boosts
7
Views
2.0k
Activity
Sep ’26
CarPlay: App Icon doesn't display badge count.
On the CarPlay view of our iOS app, we cannot get our CarPlay app icon to show a red badge count like our regular iPhone app icon does. This is using either UNUserNotificationCenter.current().setBadgeCount() and also relying on the content.badge value in local notifications. I see other non-Apple apps (WhatsApp for eg) can display badge counts on their icons, so know it must be possible. Our app is Driving Task category app. Is there some restriction on this category of app that would prevent badge counts showing? Is there some other user setting that would prevent badge counts showing?
Replies
0
Boosts
0
Views
247
Activity
Sep ’26
Low-latency, high-quality audio route w/wireless CarPlay?
Is there a supported way for a CarPlay audio app to request a lower-latency wireless playback route without communications-style audio processing or restricted volume behavior? .playback + .default on wired CarPlay gets you ~60ms latency route. The same on wireless CarPlay gets you ~1100ms latency. I know that wireless CarPlay can support faster connections as I have tested them. playAndRecord + .default and .playback + .voicePrompt negotiate approximately 160 ms output/presentation latency. However, on this head unit those paths have unacceptable side effects: The duplex route negotiates 24 kHz mono and removes or severely attenuates bass/haptic-engine content. The voice-prompt route alters volume semantics: steering-wheel/head-unit volume does not control our app’s level, and it appears to apply voice-oriented EQ or other processing. These routes therefore cannot substitute for full-bandwidth media playback, even though their latency is much better. 24 kHz mono would actually work for our app, if only it preserved the signal without voice/telephony EQ, bass removal, or special prompt-bus volume policy. Is there a documented, supported public API or AVAudioSession configuration (or other API even) that lets a CarPlay audio app request that kind of low-latency wireless media route? If not, is this an intentional limitation of wireless CarPlay media playback, and is there an appropriate enhancement-request path for real-time audio applications?
Replies
0
Boosts
0
Views
428
Activity
Sep ’26
CarPlay steering wheel Answer/End Call buttons not working on iPhone 17 Pro Max – buttons work over Bluetooth and with another iPhone
I’m experiencing a specific issue with Apple CarPlay and the steering-wheel phone controls in my 2026 Chery FX HEV. The problem is that when my iPhone 17 Pro Max is connected to CarPlay, I cannot answer or end phone calls using the steering-wheel Answer/End Call buttons (green/red phone buttons). The important part is that the buttons and the vehicle itself appear to be working correctly: When the iPhone is connected through Bluetooth only, without CarPlay, the steering-wheel Answer/End Call buttons work normally. When using CarPlay, I can still answer/end the call from the vehicle’s touchscreen, so calling itself works. Siri/voice control from the steering wheel works while CarPlay is active. I tested another iPhone (iPhone 14 running a non-beta/stable iOS version) in the same vehicle, and the steering-wheel Answer/End Call buttons worked correctly with CarPlay. Therefore, this appears to be specific to the interaction between my iPhone/iOS version and CarPlay rather than a defective steering-wheel button. What I have already tried I have tried: Removing/forgetting the vehicle from the iPhone and setting up CarPlay again multiple times. Removing and reconnecting Bluetooth. Restarting/force restarting the iPhone. Testing wireless CarPlay. Testing wired CarPlay using a USB cable. Testing Bluetooth without CarPlay — steering-wheel phone buttons work correctly. Testing another iPhone in the same car — the buttons work correctly with CarPlay. Testing short and long presses of the steering-wheel phone buttons. Checking Siri/voice control — this works correctly through the steering wheel. Answering calls directly from the CarPlay/vehicle touchscreen — this also works correctly. I also tried using a wired connection while attempting to remap/reconfigure the steering-wheel button, but this did not solve the problem. Any suggestions for additional troubleshooting, logs, diagnostics, or a way to reset/remap the CarPlay steering-wheel call controls would be appreciated.
Replies
1
Boosts
0
Views
292
Activity
Sep ’26
CPListItem and CPListImageRowItem text limited to 1 line on iOS 27
On iOS 27, CPListItem.text and CPListImageRowItem.text` are rendered as single-line with ellipsis truncation, regardless of the available vertical space. On iOS 26 and earlier, these properties wrapped to 2 lines before truncating. There is no public API (numberOfLines, lineLimit, or similar) on CPListItem, CPListImageRowItem, or CPListSection to control the number of text lines. The change appears to be a platform-level rendering default with no app-side opt-out. Steps to Reproduce Create a CPListTemplate with sections containing CPListItem or CPListImageRowItem items. Set the text property to a string long enough to require wrapping. Present the template via CPInterfaceController. Run on iOS 27. Expected Results The text property should wrap to multiple lines (2-3 lines) before truncating with an ellipsis, consistent with iOS 26 behavior. Row height should adjust dynamically to accommodate the wrapped text. Actual Results The text property is truncated to a single line with ellipsis. Row height remains fixed at a larger size, creating excessive vertical spacing between items. Environment iOS 27.0 (CarPlay) - issue present Xcode 27.0 beta 4 (27A5218g) Tested on physical CarPlay head unit and CarPlay Simulator
Replies
5
Boosts
0
Views
1.4k
Activity
Sep ’26
tabbar creating issue when loading an Empty CPListTemplate
I NEED TO DISPLAY two tabs in a CarPlay TabBarTemplateBuilder: Tab 1: Initially shows an empty list with a loading message, then updates with data when API call completes Tab 2: Immediately displays proper sections with data without waiting for Tab 1 to load Issues Occurring Issue #1: Second Tab Selection Unreliable Tapping the second tab doesn't switch tabs on some devices Only swiping left/right switches tabs (workaround) Behavior is inconsistent across devices **Issue #2: Second** Tab Title Not Visible Until Tab 1 Loads Even though Tab 2 loads its data asynchronously and independently Tab 2's title doesn't appear in the tab bar until Tab 1 finishes loading and populating This creates a poor user experience with missing/delayed tab labels
Replies
0
Boosts
0
Views
1.2k
Activity
Aug ’26
CarPlay - getting Progress Indicator on Image Row Condensed Element?
In our CarPlay implementation, I've been trying to get the progress indicator to appear on an image row item using the condensed element style. Is this possible? I have been able get spinners to appear on regular list items, but not on image row condensed elements. Trying to figure out what this means from the docs for listImageRowHandler: "CarPlay displays an asynchronous progress indicator until you call the completion closure." https://developer.apple.com/documentation/carplay/cplistimagerowitem/listimagerowhandler Here is a snippet of my code for the handler: let elements = myShortcuts.enumerated().map { index, shortcut in let element = CPListImageRowItemCondensedElement( // code here... ) return element } let row = CPListImageRowItem(text: nil, condensedElements: elements, allowsMultipleLines: true) row.listImageRowHandler = { [weak self] _, index, completion in self?.operate(at: index) { completion() } }
Replies
0
Boosts
0
Views
429
Activity
Aug ’26
includeAllNetworks still breaks wired CarPlay
I'm an developer and a fans of Apple, writing because you handled a forum thread that exactly matches an issue I can still reproduce today: "VPN causes CarPlay to not work" (developer.apple.com/forums/thread/712441), filed as FB11285432 back in August 2022. Summary: When any Packet Tunnel VPN with includeAllNetworks enabled is active, wired CarPlay fails to establish a connection. The phone charges normally, but the head unit never detects CarPlay. Steps to reproduce (iPhone on iOS [iOS 26.5.2], [Volkswagen's universal in-vehicle infotainment system for the 2023 and 2024 model years] head unit, USB-C wired CarPlay): Start a VPN configured with includeAllNetworks = true (reproduced with Shadowrocket; other users report the same with ExpressVPN, Google One VPN, etc.) Plug in the USB cable Result: CarPlay never connects. Charging works. Additional observations: With the VPN off, the same phone/cable/car connects instantly, ruling out hardware. If CarPlay is established first and the VPN is enabled afterward, the existing session keeps working — only the initial handshake/discovery is blocked. Consistent with thread 712441, excluding local networks does not help. This suggests includeAllNetworks blocks the mDNS/discovery traffic on the USB virtual Ethernet interface that CarPlay needs, with no exemption available. Two questions: Is there any supported configuration that allows includeAllNetworks and first-time CarPlay connection to coexist? If not, is FB11285432 still tracked? I'd be happy to file a new Feedback report referencing it with current repro details if that helps prioritization. Thanks for your time — your forum posts on Network Extension have been invaluable in diagnosing this.
Replies
0
Boosts
0
Views
938
Activity
Aug ’26