Add CarPlay support to your navigation app using CarPlay.

Posts under CarPlay tag

90 Posts
Sort by:

Post

Replies

Boosts

Views

Activity

questions about Carplay driving task
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
1
0
761
Dec ’23
CarPlay entitlements crashes Mac app
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.
1
0
583
Jul ’23
Open CarPlay app with Siri
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?
1
0
670
Jul ’23
displaying local notification in CarPlay app
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?
4
0
1k
Aug ’23
Audio entitlement for CarPlay
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.
2
0
484
Jul ’23
Mic not working when using phone connected to Carplay.
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?
0
0
734
Aug ’23
Announce my apps' Notifications in CarPlay
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).
0
0
442
Aug ’23
how to show all contents in CPListTemplate?
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?
1
0
392
Aug ’23
Apple carplay entitlement file request - no update from Apple
Hi,  I am writing to inquire about the status of our app’s Apple CarPlay Entitlement file request. I submitted the request for the entitlement file on June 19, 2023, and as of now, I have not received any update regarding its processing. Request Submission Date:  June 19, 2023 Case-ID: 3402369 I would greatly appreciate if you could kindly check the status of my entitlement file request and provide an update on this. If there are any additional informations needed from my end to quicken the process, please let me know, and I will promptly provide them. Thanks
0
0
359
Aug ’23
CPTabBarTemplate has issue for memory management?
I write a empty class for deinit test class MyEmptyModel { deinit { print("MyEmptyModel deinit") } } Every tab in CPTabBarTemplate must be visited at least once, after which deinit is called. so it can cause memory issue if user doesn't visit all tabs. I think it's a bug. here's a code I wrote for test. is there any code wrong? // create first tab list template let firstItem = CPListItem(text: "firstItem", detailText: "hoho") firstItem.handler = { _, completion in let firstInnerItem = CPListItem(text: "firstInnerItem", detailText: "haha") firstInnerItem.handler = { _, completion in print("firstInnerItem!!") completion() } firstInnerItem.userInfo = MyEmptyModel() let firstInnerSection = CPListSection(items: [firstInnerItem]) let firstInnerList = CPListTemplate(title: "First Inner", sections: [firstInnerSection]) firstInnerList.emptyViewTitleVariants = ["First Inner empty"] interfaceController.pushTemplate(firstInnerList, animated: true) { _, _ in completion() } } let firstSection = CPListSection(items: [firstItem]) let firstList = CPListTemplate(title: "First", sections: [firstSection]) // create second tab list template let secondItem = CPListItem(text: "secondItem", detailText: "hoho2") secondItem.handler = { _, completion in let secondInnerItem = CPListItem(text: "secondInnerItem", detailText: "haha2") secondInnerItem.handler = { _, completion in print("secondInnerItem!!") completion() } secondInnerItem.userInfo = MyEmptyModel() let secondInnerSection = CPListSection(items: [secondInnerItem]) let secondInnerList = CPListTemplate(title: "Second Inner", sections: [secondInnerSection]) secondInnerList.emptyViewTitleVariants = ["Second Inner empty"] interfaceController.pushTemplate(secondInnerList, animated: true) { _, _ in completion() } } let secondSection = CPListSection(items: [secondItem]) let secondList = CPListTemplate(title: "Second", sections: [secondSection]) // create third tab list template let thirdItem = CPListItem(text: "thirdItem", detailText: "hoho3") thirdItem.handler = { _, completion in let thrdInnerItem = CPListItem(text: "thirdInnerItem", detailText: "haha3") thrdInnerItem.handler = { _, completion in print("thirdInnerItem!!") completion() } thrdInnerItem.userInfo = MyEmptyModel() let thirdInnerSection = CPListSection(items: [thrdInnerItem]) let thirdInnerList = CPListTemplate(title: "Third Inner", sections: [thirdInnerSection]) thirdInnerList.emptyViewTitleVariants = ["Third Inner empty"] interfaceController.pushTemplate(thirdInnerList, animated: true) { _, _ in completion() } } let thirdSection = CPListSection(items: [thirdItem]) let thirdList = CPListTemplate(title: "Third", sections: [thirdSection]) // create tabbar template and set to root template var tabBarTemplates = [CPTemplate]() tabBarTemplates.append(firstList) tabBarTemplates.append(secondList) tabBarTemplates.append(thirdList) let tabBarTemplate = CPTabBarTemplate(templates: tabBarTemplates) interfaceController.setRootTemplate(tabBarTemplate, animated: false) { _, _ in }
0
0
293
Aug ’23
Carplay infotainement homemade
HI everyone, my little project is to create an infotainment system based on apple carplay but I don't know what "carplay" really is, if an operating system or an app to be installed on linux, also because I haven't found any information on how implement carplay. At my disposal I have a raspberry pi4 and a 5 inch screen.
1
0
347
Aug ’23
Siri INStartCallIntent works on iOS but not with CarPlay
Hey there, I implemented Siri and CarPlay. The INStartCallIntent works on iOS but not when initiating a voice command via CarPlay. Error from INIntentDeliverer: Unable to find implementation of resolution method for facade slot name (null) From what I see, I implemented all methods declared on INStartCallIntentHandling but none is called. Does someone know whats missing? 2023-08-29 11:34:52.551834+0200 MyApp[64559:4844776] [Intents] -[INIntentDeliverer _resolveIntentParameter:forIntent:intentHandler:updateIntent:withCompletion:]_block_invoke Unable to find implementation of resolution method for facade slot name (null) on intent <INStartCallIntent: 0x282a71830> {
1
0
629
Oct ’23
Cannot interact with CarPlay external display in Xcode
I'm testing out adding CarPlay support to my app and had a lot of trouble getting the CarPlay simulator(the one accessible through I/O->External Displays->CarPlay from the simulator app) to respond to any touches. At first I thought it was a problem with my app, but then I erased all contents and settings, turned on car play, and attempted to even interact with the default view to no avail. Throughout the morning it's worked on and off so something is not right here. Xcode 14.2, iOS 16.2. As you can see from the screenshot there are no other apps installed.
2
0
569
Oct ’23
Xamarin CarPlay InformationTemplate Custom Back Button Handle Problem
Our xamarin forms project supported CarPlay and has a information template. I want to use custom back button on information template but when user click back button, handle section is not calling. Back button create function codes: private CPBarButton GetBackButton() { return new CPBarButton("Back", handler => { try { if (interfaceController != null && interfaceController.Templates != null && interfaceController.Templates.Length > 1) { interfaceController.PopTemplate(true); } } catch { } }); } Visual Studio version: Visual Studio 2022 17.7.3
0
0
349
Oct ’23