6 tips for building your next CarPlay app.

March 22, 2024

CarPlay, the in-car integration system for iPhones, presents exciting opportunities for developers. But before you gear up to build an app, there are some key things to keep in mind for a smooth and successful development journey.

 

Let’s explore these six essential considerations:

1. Think of it as an extension, not a reinvention.

Unlike standalone apps, CarPlay experiences are extensions of your existing iOS app. Think of it as a tailored version specifically designed for the car’s display and controls. This means your CarPlay app leverages the core functionality and data from your main app and CarPlay is treated as an external display, providing a focused experience for drivers.

2. App categories have clear boundaries.

Apple carefully curates the types of apps available on CarPlay, prioritizing safety and ease of use while driving. Currently, supported categories include:

 

From iOS 7.1

  1. Audio Apps: Music, podcasts, audiobooks, and news apps enhance the in-car entertainment experience.
  2. Navigation Apps: Provide turn-by-turn navigation and map visualization.
  3. Messaging and Calling Apps: Integrate with SiriKit for voice-controlled communication while driving.

 

From iOS 14

  1. Parking Apps: Offer assistance with tasks like finding parking and fueling stations.
  2. EV Charging Apps: Offer assistance with tasks like finding fueling stations and EV charging.
  3. Quick Food Ordering Apps: Allow drivers to conveniently order food on the go.

3. Templates are building blocks for your UI.

To ensure a consistent and driver-friendly experience across different car models, CarPlay utilizes a set of predefined UI templates. These templates handle the visual presentation of various elements like lists, maps, and playback controls.

 

While customization options are limited, the benefit is that you can achieve more functionality with less code due to readily available layouts. The drawback is that you’re restricted to the available templates and styling options.

 

Although user input is very limited (e.g. no keyboards or text fields available), user interaction still offers flexibility, with templates accepting user input through buttons, and voice commands via Siri. Specific templates are accessible based on your app category. For example, EV charging apps can use the “Point of Interest” template, while all app types can utilize “List” templates.

4. Prioritize safety through design.

CarPlay apps have specific guidelines to ensure driver safety:

 

  1. Focus on the core functionality: Your app should provide the intended feature efficiently and straightforwardly.
  2. No iPhone manipulation instructions: Users should not be instructed to interact directly with their iPhone for task completion.
  3. Seamless in-car experience: All features and functionalities must be accessible and usable solely within the CarPlay interface.
  4. Privacy matters: Refrain from displaying private content like messages, texts, or emails.
  5. Template purpose and data: Utilize templates as intended and populate them with appropriate information.
  6. Voice interaction with SiriKit: Utilize SiriKit for voice-controlled interaction, except for navigation apps which can have limited on-screen controls.

5. Secure your CarPlay entitlement.

To access the necessary development tools and resources, all CarPlay apps require a specific entitlement. Here’s the process:

 

  1. Request an Entitlement: Visit Apple’s developer website and provide details about your app, including its category. Agree to the CarPlay Entitlement Addendum. Apple will review your request and grant the entitlement if your app meets their criteria.
  2. Configure the Entitlement: Once approved, create a new Provisioning Profile on the Apple Developer website that includes your CarPlay app entitlement. Download and import this profile into your Xcode project.
  3. Add the Entitlement Key: Modify your Xcode project’s Entitlements.plist file to include the appropriate key based on your app category. For example, an audio app would use com.apple.developer.carplay-audio.

 

More on this, setting up the development environment, CarPlay app delegate, and development details to be followed in a future story.

6. Test, refine, and go!

Before hitting the road, you can test your CarPlay app using the built-in simulator:

 

  1. Compile your project: Build your app for a supported device, such as iPhone 12.
  2. Access the Simulator: Open the simulator by navigating to “Simulator > I/O > External Displays > CarPlay.”

Time to hit the road.

If you keep these six tips in mind when building a CarPlay app, you’ll take an approach that prioritizes safety, usability, and adherence to Apple’s guidelines. By understanding the unique nature of CarPlay development, using predefined UI templates, and securing the necessary entitlement, developers can create helpful and user-friendly experiences for drivers all over the world. 

 

And remember, the journey doesn’t end with development; continuous testing, refinement, and user feedback are important in delivering a high-quality CarPlay app. With all this taken into consideration, you’ll be well-equipped to navigate the world of CarPlay app development and create a safe, engaging, and valuable experience for drivers.

Need help with CarPlay app development?

Our team is ready to support you! Contact us today to discuss your project.

Get in touch