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 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
45
1d
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
285
1d
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
669
4d
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
117
4d
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
94
4d
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
88
1w
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
989
1w
CarPlay Video entitlement pending for 15 days — is there an escalation path?
We submitted a request for the CarPlay Video entitlement (com.apple.developer.carplay-video) on September 15, 2026, and have not received an approval, rejection, or request for additional information after 15 days. We have already followed up through the original entitlement email thread and contacted Apple Developer Support several times. Across these exchanges, we have provided the same core information at least four times, including the entitlement Case-ID, submission date, business need, and confirmation email. However, several replies have simply asked us to provide the same information again. Developer Support has also confirmed that CarPlay entitlement requests are handled by a different team and that they do not have a direct contact or support channel for that reviewing team. At this point, is there any escalation path for a CarPlay Video entitlement request that has been pending without an update? Or is waiting several weeks currently normal for these requests? Any guidance from an Apple engineer or developers who have recently gone through the CarPlay Video entitlement process would be greatly appreciated. Thank you
1
0
162
1w
CarPlay suppresses local notification sound app-wide — does a Live Activity alert behave differently?
I've confirmed through controlled testing that local notification sound is suppressed app-wide whenever CarPlay is connected, for an app with no CarPlay entitlement. Tested: Sound plays normally with CarPlay disconnected Sound is silent with CarPlay connected — confirmed by repeatedly connecting/disconnecting CarPlay with the identical notification, nothing else changed No difference with phone locked vs. unlocked No difference with Driving Focus on vs. off No difference with interruptionLevel set to .active vs. .timeSensitive Device: iPhone 13, iOS 26.6.2. Head unit: 2024 Toyota Tacoma (CarPlay). My app has no CarPlay entitlement (not navigation/audio/EV/parking/food- ordering), so I suspect this suppression may be intentional — but I can't find it documented anywhere. Given that, I'm looking at iOS 26 Live Activities as an alternative, since Apple's docs say a Live Activity can appear on the CarPlay Dashboard without a CarPlay entitlement. But I can't find documentation on: Whether a Live Activity push-to-start or update plays an audible sound when the phone is locked and CarPlay is connected. Whether Live Activity content backed by data-protection class A/B storage reliably renders in this state (separate widget guidance warns this "likely won't work in CarPlay" since phones are usually locked — unclear if this applies to ActivityKit content specifically). Has anyone tested this, or know if it's documented somewhere I'm missing? Trying to figure out if Live Activities are a viable path to a driver- audible alert for a non-CarPlay-entitled app, before I invest more engineering time in it.
0
0
141
1w
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
123
1w
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
311
1w
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
1w
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
90
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()) } } }
0
0
163
2w
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
286
3w
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
1.9k
3w
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
197
3w
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
323
4w
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
273
Sep ’26
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
45
Activity
1d
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
285
Activity
1d
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
669
Activity
4d
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
117
Activity
4d
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
94
Activity
4d
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
88
Activity
1w
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
989
Activity
1w
CarPlay Video entitlement pending for 15 days — is there an escalation path?
We submitted a request for the CarPlay Video entitlement (com.apple.developer.carplay-video) on September 15, 2026, and have not received an approval, rejection, or request for additional information after 15 days. We have already followed up through the original entitlement email thread and contacted Apple Developer Support several times. Across these exchanges, we have provided the same core information at least four times, including the entitlement Case-ID, submission date, business need, and confirmation email. However, several replies have simply asked us to provide the same information again. Developer Support has also confirmed that CarPlay entitlement requests are handled by a different team and that they do not have a direct contact or support channel for that reviewing team. At this point, is there any escalation path for a CarPlay Video entitlement request that has been pending without an update? Or is waiting several weeks currently normal for these requests? Any guidance from an Apple engineer or developers who have recently gone through the CarPlay Video entitlement process would be greatly appreciated. Thank you
Replies
1
Boosts
0
Views
162
Activity
1w
iOS 27 CarPlay section headers disappear with detail text or images
Adding an image or detail text to a CPListSection makes the whole header disappear. With no detailText or headerImage With detailText or headerImage FB24061858 open but no response.
Replies
2
Boosts
2
Views
499
Activity
1w
CarPlay suppresses local notification sound app-wide — does a Live Activity alert behave differently?
I've confirmed through controlled testing that local notification sound is suppressed app-wide whenever CarPlay is connected, for an app with no CarPlay entitlement. Tested: Sound plays normally with CarPlay disconnected Sound is silent with CarPlay connected — confirmed by repeatedly connecting/disconnecting CarPlay with the identical notification, nothing else changed No difference with phone locked vs. unlocked No difference with Driving Focus on vs. off No difference with interruptionLevel set to .active vs. .timeSensitive Device: iPhone 13, iOS 26.6.2. Head unit: 2024 Toyota Tacoma (CarPlay). My app has no CarPlay entitlement (not navigation/audio/EV/parking/food- ordering), so I suspect this suppression may be intentional — but I can't find it documented anywhere. Given that, I'm looking at iOS 26 Live Activities as an alternative, since Apple's docs say a Live Activity can appear on the CarPlay Dashboard without a CarPlay entitlement. But I can't find documentation on: Whether a Live Activity push-to-start or update plays an audible sound when the phone is locked and CarPlay is connected. Whether Live Activity content backed by data-protection class A/B storage reliably renders in this state (separate widget guidance warns this "likely won't work in CarPlay" since phones are usually locked — unclear if this applies to ActivityKit content specifically). Has anyone tested this, or know if it's documented somewhere I'm missing? Trying to figure out if Live Activities are a viable path to a driver- audible alert for a non-CarPlay-entitled app, before I invest more engineering time in it.
Replies
0
Boosts
0
Views
141
Activity
1w
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
123
Activity
1w
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
311
Activity
1w
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
1w
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
90
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
0
Boosts
0
Views
163
Activity
2w
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
286
Activity
3w
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
1.9k
Activity
3w
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
197
Activity
3w
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
323
Activity
4w
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
273
Activity
Sep ’26