Table of contents:
- What is CarPlay?
- What are CarPlay apps?
- What types of apps can be developed for CarPlay?
- How to develop a CarPlay app?
- How much UI does CarPlay accept?
I’m pretty sure not everybody will approve, but nowadays, a smartphone and a car are pretty indispensable. Just stop for a few seconds and imagine what would you do if you would have to “survive” for a week without a smartphone or even without a car. Now, I’m not saying it would be impossible, but you’ll have to agree, it would be a pain in the back having to figure out pretty much everything without a search, calling/texting a friend, or an app telling you the answer.
We build our routine based on electronic devices and we need comfortable transportation to commute to our jobs or go shopping for a full list of groceries or even travel. Now more than ever, since the pandemic made us go remote and rely on technology and individual transportation, we made use of inclusive platforms and systems that serve multiple purposes, like CarPlay, to ease our life and make everything more accessible and easy to use.
What exactly is CarPlay?
Apple introduced around 2014, “The ultimate copilot” - CarPlay. Now, what exactly is this and what does it do? CarPlay is an extension of iOS that enables a car’s infotainment system (aka the built-in entertainment and information system) to display and control a range of apps. Streaming music, dialing into a meeting, finding a car park, and ordering food, are just some of the apps you might consider enhancing to take advantage of the maturing CarPlay platform.
CarPlay allows any iPhone (from iPhone 5, all the way to iPhone 13 Pro Max) to interface with the car’s infotainment system (mainly with the built-in dashboard screen that controls the radio, making calls and navigation).
Once more, convenience prevails and this time, the distraction of a phone is replaced with the infotainment display that contains users' commonly used apps that are necessary and useful while driving. By doing so, CarPlay minimizes the need to handle your iPhone while driving. You can dive into more details on Alexi Schreier’s article A Developer’s Intro to CarPlay.
What are CarPlay apps?
Fortunately, Apple allows app developers many possibilities to build something that might be perfect for CarPlay, but before you jump to conclusions, you must also know that Apple restricts quite a lot of apps that CarPlay can enable, so the type of apps that you can develop are:
- Audio apps (Music, Podcasts, News)
- Communication apps (Messages, Calls)
- Navigation apps
- EV charging apps
- Parking apps
- Food ordering apps
CarPlay allows developers to make their products for safer use in cars so that there will be fewer accidents caused by distracted drivers using their mobile phones. As good as that sounds, there’s still a shortage of information on how to develop an actual CarPlay enabled app.
What niches should you pay attention to when developing?
- Traffic safety
- Safety and liability insurance
- Fuel-saving applications
- Health and ergonomics
Can I integrate CarPlay into my existing app?
You could do so, but it is recommended to create a new one that complies with all CarPlay legal criteria. CarPlay apps are meant to appear and feel similar to your iPhone app, but with UI features comparable to built-in CarPlay apps. It must be in accordance with certain dimensions.
If the application's purpose is to send and receive messages, you must utilize SiriKit's Messaging, especially for speech interactions. The user flows must be acceptable for use while driving and must be feasible without the use of an iPhone.
How to develop a CarPlay app?
1. CarPlay app entitlement
A CarPlay app entitlement is required for all CarPlay apps. Go to the Apple's site and put information regarding your app, along with the CarPlay app category. In addition, you must agree to the CarPlay Entitlement Addendum. Apple will look into your request. If your app passes the CarPlay app eligibility criteria, Apple will generate a CarPlay app entitlement and inform you.
2. Assess your entitlement
After receiving a CarPlay app entitlement, log in to your Apple Developer account and create a new Provisioning Profile that contains the entitlement. Once that is done, import it to Xcode. E.g. app Entitlement key: com.apple.developer.carplay-navigation (depending on the type of app you’re requesting an entitlement for)
3. Add the new key to Entitlements.plist file
4. Add the new key to Entitlements.plist file