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
364 Views
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.
Posted
by
Post not yet marked as solved
0 Replies
298 Views
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!
Posted
by
Post not yet marked as solved
0 Replies
362 Views
Hi everyone! Is it possible to develop an app with another market tool as OutSystems and submit for Carplay? Or it requires to use XCode?
Posted
by
Post not yet marked as solved
0 Replies
339 Views
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
Posted
by
Post not yet marked as solved
1 Replies
443 Views
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...
Posted
by
Post not yet marked as solved
0 Replies
270 Views
What is the application process for CarPlay? I have been applying for it for over a month and have not received any feedback yet. How can I contact the Apple official?
Posted
by
Post not yet marked as solved
0 Replies
442 Views
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?
Posted
by
Post not yet marked as solved
0 Replies
228 Views
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?
Posted
by
Post marked as solved
1 Replies
562 Views
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>
Posted
by
Post marked as solved
4 Replies
683 Views
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) }
Posted
by
Post not yet marked as solved
2 Replies
650 Views
Hi iOS member, I have a problem to use a SwiftUI on Carplay. The swiftUI is not refreshed when @State properties are modified. Only UiKit views refreshs well, on Carplay. Is it exists a way to use swiftUI views on Carplay, for example to show a speed of the user on a Map application ? Thank you for your help. Here an example of SwiftUI view : public struct FakeSpeedView: View { @State var speed: Int = 90 let timer = Timer.publish(every: 1, on: .main, in: .common).autoconnect() public init() {} public var body: some View { Text("Speed \(speed)") .onReceive(timer) { _ in var newValue = speed + 1 if newValue > 130 { newValue = 90 } print("FakeSpeedView update speed \(newValue)") speed = newValue } } } And here, the ViewController used as rootViewController for CPWindow : class ContentViewController: UIViewController { private var circularProgressBarView: CircularProgressBarView! private var circularViewDuration: TimeInterval = 2 private var speedVC: UIViewController! override func viewDidAppear(_ animated: Bool) { super.viewDidAppear(animated) setUpSpeedView() setUpCircularProgressBarView() } private func setUpSpeedView() { speedVC = UIHostingController(rootView: FakeSpeedView()) view.addSubview(speedVC.view) speedVC.view.translatesAutoresizingMaskIntoConstraints = false speedVC.view.pinEdges(to: view) addChild(speedVC) speedVC.didMove(toParent: self) } private func setUpCircularProgressBarView() { // set view circularProgressBarView = CircularProgressBarView(frame: .zero) // align to the center of the screen circularProgressBarView.center = view.center // call the animation with circularViewDuration circularProgressBarView.progressAnimation(duration: circularViewDuration) // add this view to the view controller view.addSubview(circularProgressBarView) } }
Posted
by
Post marked as solved
1 Replies
459 Views
When testing the simulator for CarPlay the screen remains black. It was working fine now the screen remains black even after restarting my computer. I have an M1 MacBook Air with Xcode 15.0.1.
Posted
by
Post not yet marked as solved
1 Replies
1.5k Views
With the latest release of iOS17.1, the "Hey Siri" or "Siri" feature does not work with Apple Car Play. Even with taking multiple mitigation steps to try and alleviate the issue (turning on and off the phone, turning off the phone Wi-Fi and Bluetooth, disconnecting the phone from the vehicle, turning the vehicle on and off, etc.), nothing seems to work. There will need to be an updated release to patch that current bug which worked in iOS 17.
Posted
by
Post marked as solved
1 Replies
745 Views
If the user uses CarPlay and the car's HUD supports 2nd video streaming, Apple Maps' directional arrows will already be displayed on the HUD. If I remember correctly, I think this feature has been supported starting from iOS14 or iOS15. CarPlay users, who can see turn-by-turn directions from Apple Maps on the HUD, expect third-party apps to support this feature as well. When I checked the CarPlay Simulator, "Instrument Cluster Video Stream 2" is only used by Apple Maps among navigation apps. So I checked the documents for the developers and the CarPlay App Programming Guide since 2022-06, the functionality is not described. So I'm pretty sure it's being blocked by some kind of Apple CarPlay policy. Are there any plans to make the “Instrument Cluster Video Stream 2” feature available to third-party app developers?
Posted
by
Post marked as solved
1 Replies
267 Views
Hi, we want to support car play in our product. I checked some documents, the hardware request is USB connector , BT, WIFI and GPS. here is my question: do we need more chips for car play function? what we need to prepare for get Apply license ? our hardware platform is Qualcomm chip set. our software platform is Android. thans
Posted
by
Post not yet marked as solved
0 Replies
383 Views
I've found an issue introduced in iOS 17. Apps that have notifications in CarPlay (Message, Whasta, Telegram, etc...) can play sounds without the need of displaying any notification alert. If you turn "Show in CarPlay" to off, which is the default value for all other apps, sound will not play unless you check at least one alert type.
Posted
by
Post not yet marked as solved
3 Replies
724 Views
Since XCode 15, we can't get our app in the app store no more. While uploading, we get the message: "Entitlement com.apple.developer.playable-content is missing". The entitlement is for CarPlay and it worked for years -we did not change anything.Now with XCode 15, we had to remove CarPlay completely, otherwise we wouldn't get the app in the App Store no more.
Posted
by
Post not yet marked as solved
2 Replies
1.2k Views
On iOS 17.0.2 my bluetooth devices (CarPlay and earbuds) were performing at normal levels with all sound settings at default. In the gym, I like to max out my bluetooth earbuds. However, after updating to iOS 17.1 Beta 2 (21B5056e), my bluetooth earbuds set at max volume sounded medium. My first troubleshooting method was to check the sound settings... all setting (including accessibility) were left at the default inputs. To further troubleshoot, I tried other downloaded albums on my music library/playlists...all noticeably lower at max volume. I was thinking this might be related to my earbuds. However, when driving, I decided to play the same album in my 2021 GMC Sierra via CarPlay... I had to turn up the dash knob audio substantially higher to replicate what was considered loud (or rather "comfortably loud") in my truck. Apple tech supports only recommendation was to do a system restore and roll back to 17.0.2. Has anyone else tested music quality/sound over bluetooth before and after they updated from 17.0.2. to 17.1 Beta 1/2 ?
Posted
by
Post not yet marked as solved
1 Replies
293 Views
Has anyone had a difficult time trying to get Apple CarPlay entitlements approved for an app that provides navigation? I have tried going through Developer support and all I get is the equivalent of "We will let you know when you are approved". It has been over 4 months now with no approval or even a rejection. Am I missing something? Are there any tricks to getting approval?
Posted
by
Post not yet marked as solved
0 Replies
294 Views
Hello, I'm curious if it's possible to only show the directional arrows from CarPlay on the HUD while navigating. Can the visuals presented on CarPlay be distinct from what is displayed on the HUD? If this can be achieved, I would be grateful for some guidance on the matter. Thank you in advance.
Posted
by