Add CarPlay support to your navigation app using CarPlay.

CarPlay Documentation

Posts under CarPlay tag

88 Posts
Sort by:
Post not yet marked as solved
1 Replies
344 Views
I just got a new Iphone 14. every time I am on the phone it crashes my infotainment system. I mean the screen goes black, it disconnects from my phone and the system reboots. usually happens after several minutes during the call. it worked perfectly with my old Iphone. happened on day one for connecting to carplay, and everyday since. it is a freakin bad distraction while driving. plus annoying to myself and the other person on the phone. Iphone 14, 2021 chevy colorado, carplay. all systems are up to date on the software front.
Posted
by
Post not yet marked as solved
0 Replies
783 Views
I'm building an app that is mostly around audio playback, but I occasionally want to record small bit from the microphone. I'm setting up my audio session like this: try? AVAudioSession.sharedInstance().setCategory(.playAndRecord, options: [.allowBluetoothA2DP] ) When connected to bluetooth headphones, or via bluetooth audio to the car (a 2022 VW ID.4) this gives me the results I desire: playback is high quality via A2DP, and the recordings use the built-in iphone microphone. However, when connected to CarPlay, the output audio quality suffers greatly; it sounds like it's using a bluetooth HFP connection. Note that this only happens when using .playAndRecord -- if I setup the session with .playback the audio quality using carplay is just fine. I've tried bludgeoning some workarounds like setting .playAndRecord at the last minute, or calling setPreferredInput() to force using the ios mic, but nothing seems to help.
Posted
by
Post not yet marked as solved
0 Replies
773 Views
I am trying to read register values from an MFi Authentication Coprocessor 3.0 chip MFI343S0017 by I2C. But all the return values are 0x00 instead of the expected values.What can possibly be going wrong?
Posted
by
Post not yet marked as solved
0 Replies
534 Views
We’ve recently acquired a third party app that our drivers can activate if they feel unsafe. The app will stream audio and video from the iPhone to an operation centre when activated. Unfortunately, when connected to CarPlay, the operation centre only receives a blank feed and can’t capture video. If we disconnect CarPlay, everything works as expected. is this expected behaviour? Or is this something the developer is able to fix?
Posted
by
brf
Post not yet marked as solved
0 Replies
532 Views
During starting Carplay app (checked with different apps) simulation I have error in Xcode about constraints. May be there is bug in the library. For example, app CoastalRoads have this output (Tested in Xcode 14.3, MacBook Pro M1): 2023-05-17 12:41:01.914169+0300 CoastalRoads[3274:63652] [LayoutConstraints] Unable to simultaneously satisfy constraints. Probably at least one of the constraints in the following list is one you don't want. Try this: (1) look at each constraint and try to figure out which you don't expect; (2) find the code that added the unwanted constraint or constraints and fix it. ( "<NSAutoresizingMaskLayoutConstraint:0x6000021f4640 h=--- v=--- CPWindow:0x133514820.height == 240 (active)>", "<NSLayoutConstraint:0x6000021ed270 CPWindow:0x133514820.top == UILayoutGuide:0x600003ba8ee0''.top - 44 (active)>", "<NSLayoutConstraint:0x6000021ed2c0 V:[UILayoutGuide:0x600003ba8ee0'']-(240)-| (active, names: '|':CPWindow:0x133514820 )>" ) Will attempt to recover by breaking constraint <NSLayoutConstraint:0x6000021ed270 CPWindow:0x133514820.top == UILayoutGuide:0x600003ba8ee0''.top - 44 (active)> Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger. The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKitCore/UIView.h> may also be helpful.
Posted
by
Post not yet marked as solved
1 Replies
365 Views
Touchscreen gestures in CarPlay aren't recognized in the app (delegate CPMapTemplateDelegate functions aren't called). Tried also in the Coastal Roads demo app to add test functions to check that pan functions are called - the same: func mapTemplateDidBeginPanGesture(_ mapTemplate: CPMapTemplate) { MemoryLogger.shared.appendEvent("Did begin pan gesture.") } func mapTemplate(_ mapTemplate: CPMapTemplate, panBeganWith direction: CPMapTemplate.PanDirection) { MemoryLogger.shared.appendEvent("Did begin pan gesture with direction \(direction.rawValue).") } Note: buttons (on carplay app) are working when pressing on them. Also, the desktop of carplay can be panned (by swipe gesture). Using Xcode 14.3, MacBook pro M1
Posted
by
Post not yet marked as solved
0 Replies
739 Views
When configuring an AVAudioSession as playAndRecord, I have to select the CarPlay input as preferredInput to make sure that the output is also routed to the car - if I set the preferredInput to the built-in mic, the output is routed to the speakers instead. However, when I select the CarPlay input as preferredInput, AVAudioSession configures the output as mono: (lldb) po session.currentRoute.inputs.first! <AVAudioSessionPortDescription: 0x282fcec30, type = CarAudio; name = CarPlay; UID = 48:F0:7B:C6:21:A8-Audio-AudioMain-92004763965583; selectedDataSource = (null)> (lldb) po session.currentRoute.inputs.first!.channels ▿ Optional<Array<AVAudioSessionChannelDescription>> ▿ some : 1 element - 0 : <AVAudioSessionChannelDescription: 0x282fccc70, name = CarPlay; label = 0 (0x0); number = 1; port UID = 48:F0:7B:C6:21:A8-Audio-AudioMain-92004763965583> (lldb) po session.currentRoute.outputs ▿ 1 element - 0 : <AVAudioSessionPortDescription: 0x282fce9d0, type = CarAudio; name = CarPlay; UID = 48:F0:7B:C6:21:A8-Audio-AudioMain-92004763965583; selectedDataSource = (null)> (lldb) po session.currentRoute.outputs.first!.channels ▿ Optional<Array<AVAudioSessionChannelDescription>> ▿ some : 1 element - 0 : <AVAudioSessionChannelDescription: 0x282fd8590, name = CarPlay; label = 0 (0x0); number = 1; port UID = 48:F0:7B:C6:21:A8-Audio-AudioMain-92004763965583> When I configure the session only for playback, the output is stereo, as you'd expect from a car system. This is on iOS 17 beta1, and I'm afraid I can't check whether this is a new regression or has already existed before, but it's quite likely it has existed before. Any advice on how I can circumvent this issue?
Posted
by
Post not yet marked as solved
0 Replies
403 Views
Is it possible to pay for a transaction in CarPlay using the ApplePay wallet? Will I need to interact with the mobile device to confirm the transaction or can it run from the car display? I want to develop an app to pay for fuel with a card registered in the Apple Wallet. Thanks
Posted
by
Post not yet marked as solved
1 Replies
732 Views
Hi, I have a couple of doubts. Can information layout be used for driving task? In the guidelines is stated "The information template can be used by communication, EV charging, parking, navigation, and quick food ordering apps." (hence, driving task is not part of this list) correct? in the Apple guidelines is stated "driving task and quick food ordering apps are limited to 2 templates". Then, it also says that the tab bar layout "allows up to 4 tabs for audio apps and up to 5 tabs for all other app types". What does this mean? Is it possible to use the tab bar layout with more than two levels of hierarchy within the driving task, or should I use it with a limit of two? Moreover, if the limit is two, do I have to also count the tab bar as one and, therefore, use just one other layout in addition as the maximum allowed number? thanks
Posted
by
Post not yet marked as solved
1 Replies
369 Views
I work on the android to support the Carplay.Process for establishing a CarPlay session. How can I get the reference source code or sdks for process of: 1、Enumerate (Accessory is USB Host) 2、Detect if Apple device supports CarPlay 3、Request & Perform USB Role Switch 4、Enumerate (Apple device is USB Host) 5、Establish iAP2 Session
Posted
by
Post not yet marked as solved
1 Replies
561 Views
I am using Xcode 14 and multiplatform app project. I have received the CarPlay entitlements from Apple and everything works on iOS. However I do have to share the same entitlements.plist file with macOS (multiplatform project uses the same file) and the CarPlay entitlement crashes the Mac app. If I remove those lines from it everything works fine: <key>com.apple.developer.carplay-audio</key> <true/> How to handle this? I have tried to add iphoneos on the end of the key but it keeps crashing even then.
Posted
by
Post not yet marked as solved
1 Replies
642 Views
I have a Driving Task CarPlay entitlement. While connected to CarPlay, I can ask Siri to open any of the apps on the CarPlay Console. Granted, I suspect none of the apps I have fall under Driving Task entitlements. Audible, Audio Books and Music would likely be Audio apps. WhatsApp and Telegram will be Communication, Waze and Maps will be Navigation. I have SiriKit intents to do various tasks in the app. When I use Siri and issue those commands, they all work, regardless of whether I'm connected to CarPlay or Not. What baffles me is that I can't ask Siri to simply open my app on the CarPlay console. She keeps responding with “Sorry, I can’t do that while you’re driving.” I've read through the CarPlay App Programming Guide. The guide mentions the following: All voice interaction must be handled using SiriKit (with the exception of CarPlay navigation apps) Under additional guidelines for communication apps, it mentions that your app must support VOIP calling features via specific SiriKit intents. Under additional guidelines for navigation apps, they mention that voice control must be limited to navigation features. I don't see any special mention of voice control related to Driving Task apps. When I ask Siri to open my app on the iPhone, it just happens. I didn't have to do anything specifically to have this functionality. Why can't I open my app with Siri on the CarPlay console?
Posted
by
Post not yet marked as solved
2 Replies
405 Views
I have a CarPlay app displaying a set of POIs using the CPPointOfInterestTemplate. I'd like to update values in the existing POIs (or replace the POIs with new ones). The only method I see to do this is: setPointsOfInterest() I can call this, but this appends my new set of POIs rather than completely replacing the existing POIs. Is there a way to do this? Thanks!
Posted
by
Post not yet marked as solved
4 Replies
941 Views
I have created a CarPlay app that displays local notifications. The notification displays on iPhone but in CarPlay, the notification never displays. When registering for the notification via requestAuthorization, we are passing .carplay into the options. This results in the "Show in CarPlay" option to show up in the Notification settings for the app. However, even with this option enabled, no notification is ever displayed on the CarPlay screen. The CarPlay app we have created is the automaker type. Does this app type have additional notification restrictions?
Posted
by
Post not yet marked as solved
2 Replies
467 Views
Does anybody have insight into why Apple would give a developer map display entitlement but would forget to give audio entitlement? We've contacted Developer support and keep being told they are investigating and to wait...it's been several MONTHS. Beginning to think they might be revamping CarPlay which may require all new entitlements. Anybody have any similar experience? Thanks in advance for your help.
Posted
by
Post not yet marked as solved
0 Replies
635 Views
This issue only happens on my phone, 12 Pro. My wife has a 12 Pro Max and carplay don't have any issues. Using phone app in carplay was working several days ago. I'm on IOS beta program and I have 17.0. The person on the other end of the call said that he thinks he hear a sound when I'm talking but it's not my voice. When I switch to use speaker on my phone then the other party can hear me clearly. But the sound now is on my phone not on the car's speaker. I know it's not my phone's mic coz I can use Siri on carplay. Also, it's not my car's mic coz my wife's 12 Pro max works fine. My wife's phone is NOT on the IOS beta program. I already did RESET ALL SETTINGS and still the same. I am hesitant to factory reset it, I have a lot on my phone. Is there a setting I'm missing?
Posted
by
Post not yet marked as solved
0 Replies
415 Views
My app uses UNMutableNotificationContent() to play a custom sound, and has a phrase as a message. I just got a vehicle with CarPlay. When my iPhone is connected to CarPlay, when the notification goes off at a time, it shows on the iPhone, but does not make any noise whatsoever. What I'd like to happen, is for CarPlay to announce the message when the notification goes off, like it does with Apple's messages app. As my phone is set right now, when I have my airPods in, it will announce the notification from my app. But not for CarPlay. What do I need to add to my app to allow CarPlay to announce the message that comes in from a notification (again, local, not a push notification).
Posted
by
Post marked as solved
1 Replies
539 Views
Hello! Is there a way to change the app name for the Carplay app? Currently our app's name is getting truncated and we would like to change it something shorter rather have it truncated. See attached image for an example of how Amazon music app is truncated. This is what we're trying to avoid. Thanks!
Posted
by
Post not yet marked as solved
1 Replies
359 Views
I test my music app which supports CarPlay. CarPlay limits maximum number of items with CPListTemplate.maximumItemCount. my test case(real iPhone and CarPlay Simulator) CPListTemplate.maximumItemCount is 500. so I can show 500 items in CPListTemplate. however when I test with Apple Music App, (which has a playlist contains over 1000 songs) all songs can be presented. (I can scroll first song to last song.) I guess there's a reload list logic, because the limit count(500 items in list) should be same. but I don't know when should I reload items. because CPListTemplate is not UITableView, so I can't check an item position in list. I checked CPListItem, CPListTemplate and CPInterfaceController in documentation, I can't fine any hint for that. is there any ideas for showing all contents?
Posted
by