Add CarPlay support to your navigation app using CarPlay.

Posts under CarPlay tag

89 Posts
Sort by:

Post

Replies

Boosts

Views

Activity

Apple Classical in CarPlay?
[posted January 30, 2024] Earlier this month, Apple Classical appeared as an app in CarPlay. Hallelujah!!! Three days later it disappeared after another update, apparently because all it did when activated via CarPlay was crash. OK, it was an oopsie (I get it. I spent 30 years in IT, and, well, it happens. They’re called “undocumented features”). Thing is: Apple hasn’t breathed a word about this event at all. Nothing. Nada. Zip. Zippo. Zilch. There’s a huge pent-up audience for this app in CarPlay. Is it coming? Please? Oh please oh please oh please?
0
0
570
Jan ’24
CPListImageRowItem customisation
Hi I was trying to design the above UI, But using the below code of CPListImageRowItem func templateApplicationScene(_ templateApplicationScene: CPTemplateApplicationScene, didConnect interfaceController: CPInterfaceController) { self.interfaceController = interfaceController // Create a list row item with images let item = CPListImageRowItem(text: "Category", images: [UIImage(named: "cover.jpeg")!, UIImage(named: "cover2.jpeg")!, UIImage(named: "discover.jpeg")!, UIImage(named: "thumbnail.jpeg")!]) // Create a list section let section = CPListSection(items: [item]) // Create a list template with the section let listTemplate = CPListTemplate(title: "Your Template Title", sections: [section]) // Set the template on the interface controller interfaceController.setRootTemplate(listTemplate, animated: true) } I was getting only header and below image items but detailed text under images are no way to set. can any one help me out of this
1
1
655
Jan ’24
Instrument cluster don't appear in a car
I'm working on Instrument cluster support for our CarPlay app. We already supported Dashboard and its working well. On the CarPlay simulator I see my Instrument cluster ok, but on the real car - not. I think, that were Apple Maps appear in Instrument Cluster - there and others app with Instrument Cluster support have to show, right? On the same car I see that Apple Maps showing in Instrument Cluster, but not my app. I've done everything from this video <key>CPSupportsInstrumentClusterNavigationScene</key> <true/> and even <key>UIApplicationSupportsMultipleScenes</key> <true/> What's else have to be done for showing my app in the Instrument Cluster?
0
1
497
Jan ’24
Driving Task Crash When Adding Action Sheet or Alert
I have a driving task app and am trying to show a CPActionSheetTemplate or a CPAlertTemplate. Both of these are crashing showing: Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Unsupported object <CPActionSheetTemplate: 0x6000030319e0> <identifier: C744031B-99F6-4999-AF19-6ED43140502B, userInfo: (null), tabTitle: (null), tabImage: (null), showsTabBadge: 0> passed to pushTemplate:animated:completion:. Allowed classes: {( CPSearchTemplate, CPNowPlayingTemplate, CPPointOfInterestTemplate, CPListTemplate, CPInformationTemplate, CPContactTemplate, CPGridTemplate, CPMapTemplate )}' This is very strange, because in the docs all app types are allowed to show ActionSheets and Alerts. Why is this crashing?
1
0
442
Jan ’24
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
745
Dec ’23
CarPlay Simulator not receiving microphone input (Siri)
CarPlay Simulator not receiving microphone input (Siri) Running carplay simulator Version 1.1 (480.26) Running on: M1 Macbook Pro running macOS Ventura 13.3.1 Connected to: iPhone 13 pro max running iOS 16.4 (20E246) When launching Siri by "Hey Siri", the, the siri indicator apppears and I am able to communicate and send a command, such as "send a text". Then, the Siri will say "who do you want to message", but it is no longer able to hear my voice as input.
1
0
663
Dec ’23
ETA panel and Manoeuvres not showing if disconnect and connect CarPlay
We have an app with CarPlay support. There you can preview a trip and start it. However, if we start a trip (see eta and manoeuvres), then turn off the car (or tap disconnect in CarPlay Simulator), then turn it again - CarPlay launched, but there's no eta panel and manoeuvres in it. Even if cancel this trip and start new. Only after relaunch the app eta and manoeuvres appear again. Is someone experienced something similar? Maybe this is because some misunderstunding in CarPlay workflow?
1
0
377
Dec ’23
System pushing CPNowPlayingTemplate to Driving Task CarPlay app (crash)
Since iOS 17 is out I am getting crashes in my Driving Task CarPlay app. It is as if the System tried to push a CPNowPlayingTemplate to my app, and that template, according to the documentation, is not allowed for a Driving Task CarPlay app. I get the following error: Fatal Exception: NSInvalidArgumentException Unsupported object <CPNowPlayingTemplate: 0x283944c60> <identifier: 3195B357-D184-41BF-91CA-399C5810A8EA, userInfo: (null), tabTitle: (null), tabImage: (null), showsTabBadge: 0> passed to pushTemplate:animated:completion:. Allowed classes: {( CPInformationTemplate, CPListTemplate, CPAlertTemplate, CPActionSheetTemplate, CPTabBarTemplate, CPGridTemplate, CPPointOfInterestTemplate )} My app, from time to time, plays some sounds to warn the driver about issues in the road. Maybe that can trigger (in which cases?) the now playing template to be pushed to my app. Is this an iOS 17 bug? Is there a way to work around it? Thank you.
1
0
379
Nov ’23
Developing CarPlay Application for Emergency and Non-Emergency Services - Which Category and Template to Use?
I am currently working on an iOS application that provides a range of services, including both emergency services (e.g., fire, medical emergencies) and non-emergency services (e.g., patient transportation to hospitals). Now, I am looking to extend the functionality to CarPlay, and I have a few questions regarding the suitable category and template for CarPlay development. CarPlay Category: Considering the nature of our application which covers both emergency and non-emergency services, I'm wondering which CarPlay category is most appropriate for our use case. Should we go for the "Navigation" category or another category that aligns better with our service offerings? Our application requires users to register cases for emergency or non-emergency services, and we provide services exclusively for registered cases. Additionally, we have predefined limited locations for pick-up and drop-off. Given these considerations, would the "Navigation" category be feasible for our application on CarPlay, considering the need for location-based services and step-by-step navigation to predetermined destinations? CarPlay Template: I would like to know which CarPlay template would be best suited for our application. Are there specific templates optimized for emergency services or transportation services on CarPlay? If we choose the CarPlay Navigation category, the CPMapTemplate is available to render the custom map. However, for our CarPlay application, we plan to introduce additional features alongside map navigation. Specifically, we intend to set driver and crew member information within the CarPlay application. This includes vehicle details, crew member details, and shift timings for crew members. Our system assigns cases to a particular driver based on this information. The app flow we are considering involves using the CPTabBarTemplate, which includes 3-4 tabs for shift details, vehicle information, etc. One of the tabs will display the map for step-by-step navigation. We have reviewed the CarPlay Navigation programming guidelines, which mention that on the base view, only the map can be rendered, and other UI elements cannot be displayed. However, in our case, the root template is CPTabBarTemplate rather than the CPMapTemplate. I am wondering if this approach could potentially create any issues during the Apple App Store approval process? Our primary concern stems from our initial belief that the Navigation category, with its extensive support for built-in templates, would allow us to implement a TabBar. Our intention was to incorporate the CPMapTemplate within one of the tab items. However, this approach seems to contradict the CarPlay Navigation programming guidelines. Step-by-Step Navigation: For the non-emergency services, specifically patient transportation, we need to provide step-by-step navigation for drivers while picking up and dropping off patients at nearby locations or hospitals. Are there specific CarPlay features or APIs that facilitate seamless step-by-step navigation within the CarPlay interface? Must-Have Features: In the context of CarPlay development for emergency and non-emergency services, are there any must-have features or guidelines that we should consider integrating into our CarPlay interface, especially for step-by-step navigation during patient transport? I appreciate any insights, experiences, or recommendations from developers who have worked on similar projects or have expertise in CarPlay development. Thank you!
0
0
309
Nov ’23
CarPlay tab bar issues
Adding CPTabBarTemplate to my Root Template seems to break CPListTemplate, it ends up highlighting the second indexed value. I'm unable to figure out what's causing this issue. Removing the tab bar does fix the issue but I need to use tabs. Any help would be greatly appreciated! func templateApplicationScene(_ templateApplicationScene: CPTemplateApplicationScene, didConnect interfaceController: CPInterfaceController) { self.interfaceController = interfaceController let listTemplate = CPListTemplate(title: "List", sections: []) listTemplate.tabImage = UIImage(systemName: "person.crop.rectangle.stack.fill") let settingsTemplate = CPListTemplate(title: "Settings", sections: []) settingsTemplate.tabImage = UIImage(systemName: "gear") let tabBarTemplate = CPTabBarTemplate(templates: [listTemplate, settingsTemplate]) interfaceController.setRootTemplate(tabBarTemplate, animated: true, completion: nil) }
4
0
704
Nov ’23
CarPlay - Get CPSessionConfiguration on app launch
Greetings, I would like to know if the CPSessionConfiguration limitedUserInterfaces on app launch. Currently I'm able to read that value when the toggle the limit ui option on the CarPlay simulator. But, if i have it on, and try to read sessionConfiguration?.limitedUserInterfaces it doesn't show me the correct value. I'm using the delegate, as per the documents, and its working just fine when I have the app open and toggle the UI, the only issue is if the UI toggle is on, and i launch the app im not able to get the correct value. Would appreciate any input. Thank you! code: func templateApplicationScene(_ templateApplicationScene: CPTemplateApplicationScene, didConnect interfaceController: CPInterfaceController) { self.interfaceController = interfaceController self.scene = templateApplicationScene self.sessionConfiguration = CPSessionConfiguration(delegate: self) print(sessionConfiguration?.limitedUserInterfaces == .keyboard) // prints false when ui toggle is on
0
0
355
Nov ’23
A CarPlay template using Siri to let the user choose between several actions?
I'm developing a CarPlay interface to a messaging application but couldn't find how the root CPTemplate, a grid template with button in my case, could activate SiriKit to let the user choose between several actions like we could see in WhatsApp running on CarPlay: There is CPVoiceControlTemplate that seems to do the job but it is only allowed for navigation app category and not messaging and VoIP. Actually my app could activate Siri to compose a message to a selected contact represented by a CPMessageListItem in a CPListTemplate but I couldn't find how to code a CPGridTemplate that activate Siri...
1
0
459
Nov ’23
CarPlay support for SwiftUI app
I'm having troubles adding CarPlay support to my SwiftUI app. I have added the proper entitlements, scene configurations, and template delegate for CarPlay. It's unfortunately not showing up in the CarPlay simulator on Xcode 15. Am I missing something simple? CarPlay Scene Delegate class CarPlaySceneDelegate: NSObject, CPTemplateApplicationSceneDelegate {} Info.plist <key>UISceneConfigurations</key> <dict> <key>CPTemplateApplicationSceneSessionRoleApplication</key> <array> <dict> <key>UISceneClassName</key> <string>CPTemplateApplicationScene</string> <key>UISceneConfigurationName</key> <string>CarPlay</string> <key>UISceneDelegateClassName</key> <string>$(PRODUCT_MODULE_NAME).CarPlaySceneDelegate</string> </dict> </array> </dict> Entitlements <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.developer.carplay-audio</key> <true/> </dict> </plist>
1
0
582
Nov ’23
CarPlay Simulator for Xcode 13.4 not working
Hi, I installed a few versions of Additional Tools for Xcode. I was interested the most in the CarPlay Simulator. I installed the Tools for Xcode 15 - they do not work because of my version of macOS (11.7.4). So I went with the earliest and the latest version of those tools for Xcode 14. They didn't work because I have an Intel machine. I tried the earliest ones for Xcode 13 - they didn't work but I assumed that it could be something to do with the Beta version of the CarPlay Sim (labeled as Beta). I installed the latest version for Xcode 13, labeled as for Xcode 13.4. I tried 3 different devices. iPhone 11 running iOS 17.0.2, iPhone 6s running a version of iOS 15 and an iPhone 13 running some version of iOS 16. All 3 of them connect normally to a CarPlay equipped infotainment system (Discover Media, MIB 3 in a 2021 Volkswagen Caddy). The phones connect to the car both wired and wireless flawlessly, but I cannot connect them to the carplay sim. None devices run any non-finished, unreleased app. The CarPlay Sim recognizes all 3, but in the devices tab the dot is red. I tried turning off personal hotspot, clicking the device name in the devices tab, multiple lightning cables and multiple versions of the CarPlay Simulator. Nothing will work, all 3 phones show "Accesory Not Supported - Your phone does not support this accesory". All cables are MFI certified. All of them are USB-A because my computer is pre-USB-C era. What can possibly be wrong, what can I do?
0
1
457
Nov ’23
CarPlay: dashboardInstructionVariants does not work.
We are creating an app for turn-by-turn navigation in CarPlay. I would like to change the information displayed during navigation between Dashboard and others. I understand from Apple's documentation that this can be achieved by giving strings for both dashboardInstructionVariants and instructionVariants. However, when I actually try it, only the instructionVariants string is displayed. Is this a bug?
0
0
234
Nov ’23