The first version of CarPlay was released back in 2014. That year was undeniably eventful for Apple: the launch of iOS 8, the introduction of Apple Pay, the presentation of the future Apple Watch (which came out a year later!), and finally, the testing of Apple CarPlay technology, which allowed the iPhone to integrate with a car's infotainment system.
Initially, CarPlay merely mirrored the phone screen: navigation, calls, music, messages. All of this worked via cable and looked like a stripped-down version of iOS. This “ancient era” lasted quite a while: we only saw major changes in 2020. The technology became wireless, added support for third-party navigation (Google Maps, Waze), Siri, and steering wheel button control.
Now, in 2025, we’re seeing a new stage of evolution. CarPlay Ultra is no longer just a phone interface — it's a fully digital car shell powered by iOS. The technology allows you to:
- display iPhone content across all car screens: maps, music, notifications, weather, charts, etc.
- customize the digital dashboard by selecting which widgets and data are shown (e.g., route + battery charge + calendar)
- integrate with vehicle systems: climate control, seat heating, AC, cameras
- use Siri for voice control over everything
We proudly present our new Apple CarPlay tutorial. We’ll break down the development process step by step, test functionality, introduce key APIs, and share best integration practices.
If you’re looking to enter the automotive app market, this guide will be your ideal roadmap.
Getting Started with CarPlay Development
So, you want to understand how to develop CarPlay apps. Let’s address one very important point right away. This is critical to understand at the outset.
From a technical standpoint, CarPlay app development is not a standalone technology. You are NOT creating an entirely new application or coding specifically for the car.
Instead, development is centered around building a standard iOS app (Swift/Obj-C) and adding a CarPlay module via framework/special APIs.
Thus, the best tools for CarPlay development include the “standard set”:
- A Mac with Xcode installed (preferably the latest version). Xcode is Apple’s IDE for building iOS apps, and CarPlay integration happens here.
- Programming language: Swift (or Objective-C). Apple prioritizes Swift as the primary development language.
- CarPlay Simulator (built into Xcode). Allows you to emulate the interface behavior without needing a car — extremely handy for testing.
- Apple Developer Program — an official subscription-based program that every CarPlay developer must join (as of this writing, $99/year). This is necessary for:
- Access to special CarPlay APIs
- Ability to test on real devices
- App Store publishing
- Apple CarPlay API documentation and developer resources
In addition, our CarPlay app development tutorial wouldn’t be complete without mentioning the core frameworks: the CarPlay Framework (for UI integration), AVFoundation/MediaPlayer (for audio apps), MapKit/CoreLocation (for navigation), CallKit (for VoIP calls), SiriKit (for voice control).
If you're aiming to monetize or stand out among competitors, explore premium CarPlay app features: integration with iOS cloud services, real-time data usage, car-optimized UX (automatic night mode, large UI elements, simple gestures).
Understanding CarPlay-Compatible App Types
Before you register for CarPlay developer access and dive into development, it’s important to understand the restrictions you’ll face.
You might think: “Why hasn’t anyone added social media to cars yet?” Oh! It may sound like an untapped niche worth millions. Or… maybe not.
Apple's top priority is road safety. Therefore, while driving, only large controls and simple actions are allowed. No Instagram, Facebook, WhatsApp, Telegram! Drivers must not be distracted by reading or watching content. You will not pass the CarPlay approval process if you offer:
- Any type of game, from arcade to strategy
- Video apps – YouTube, Netflix, movies, series
- Photo viewing services, camera access
- Any web browsers, including Safari and Chrome
- E-commerce and shopping apps (Amazon, online stores)
- News, eBooks
- Notes, calendars, office tools
- Apps in the “Health & Fitness” category (except audio-based ones)
Quite a list, right? What is important to develop CarPlay app?
App Type | Examples |
Navigation | Maps, logistics, route guidance |
Audio | Music, podcasts, audiobooks |
Communication | Calls, messengers, voice assistants |
Car Manufacturer Apps | Car system controls (OEMs only) |
EV Charging | Finding charging stations |
Parking | Locate and pay for parking |
Food Ordering | Pickup orders |
Fuel | Locate and pay at gas stations |
Electric Vehicles | Charging station integration |
Core APIs for CarPlay App Development
Before jumping into CarPlay app development, it’s a good idea to explore the specialized APIs tailored for specific use cases. These APIs determine what functions your app can perform in the car and how it will interact with the system.
Navigation API: if you develop CarPlay app for navigation, this API allows you to not only display maps and current routes on the car screen but also integrate with the car’s sensors for precise positioning (as part of Apple Car integration).
Important! Apple grants access to the Navigation API only to apps approved under this category, and it requires special attention to UX and safety.
Audio & Communication API: ideal for streaming services, call apps, and notification-based tools. The API provides playback controls via the standard CarPlay interface (play, pause, skip) and Siri integration for voice-controlled interaction (to customize CarPlay with minimal distraction).
Messaging & Voice Control: another essential part of CarPlay API. It’s especially relevant for messenger apps, enterprise solutions, or any app where users need to receive/send info via voice.
In fact, you can find an appropriate API for almost all supported app types: Point of Interest (show restaurants, gas stations, parking spots), EV Charging API (for electric vehicles), Parking API (for booking and locating parking).
Setting Up Your Development Environment
As mentioned above, Xcode is the core development environment for all Apple products. There is no need for a separate Apple CarPlay SDK download — the official environment already includes the necessary libraries and templates. Xcode can be downloaded via the App Store.
Once installed, you gain access to CarPlay APIs, UI templates, and Apple CarPlay simulator setup, enabling you to test apps even without a car.
Important! CarPlay requires Xcode version 14 or later, but it’s best to use the latest stable version (in 2025, that’s Xcode 16). Also, ensure you have the latest version of macOS, as some SDKs don’t work on older systems.
Customizing CarPlay interface and Xcode Configuration
After setting up your environment, the next step is UI configuration.
Go to: Signing & Capabilities → “+ Capability” → Enable CarPlay support → Add required entitlement
At the same time, edit the Info.plist file to define the extension type (e.g., CarPlay navigation app development) and supported functionalities.
Important! You cannot create UI “from scratch.” Apple provides predefined templates tailored for the in-car experience, where safety and distraction-free design are paramount.
If you’re building a non-standard application, such as automotive software for CarPlay, enterprise solutions, or custom navigation tools, Apple may require you to apply for a special CarPlay entitlement.
You likely already know that testing a CarPlay app in Xcode doesn’t require a vehicle — it can be done via the built-in Simulator. However, not all features can be fully tested virtually.
Tip! Many real-world scenarios require you to deploy the CarPlay app on a real device. The Simulator doesn’t accurately reflect in-vehicle behavior, especially with Bluetooth/USB connectivity, so physical testing is essential.
Once the core logic of the app is ready, development shifts to working with real hardware. At this point, it’s crucial to validate iOS CarPlay app compatibility, not all apps are automatically displayed on the car’s screen. You must strictly follow Apple’s UI/UX guidelines, or the interface will be blocked by the system.
If your app relies on routes, geolocation, or voice input, then testing on a real device becomes mandatory. Only inside a car can you properly assess how the app behaves during driving and which elements require optimization.
CarPlay App Architecture Explained
The simplest way to describe CarPlay app architecture is:
Server – your iPhone handles all application logic.
Client – the vehicle only displays the interface and transmits user input.
Main components:
- CPTemplateApplicationSceneDelegate: The primary delegate that handles CarPlay connection/disconnection. This is where all scenes (screens) are created and managed.
- CPInterfaceController: Manages navigation between templates, essentially the CarPlay equivalent of UINavigationController in iOS.
- Prebuilt UI components that Apple allows developers to use, for example, lists, buttons, and maps.
Working with CarPlay Templates
Templates are simplified, preapproved UI elements designed to be safe for in-vehicle use. You can combine them in hierarchies to create user-friendly interfaces.
Template | Description | Example Usage |
CPListTemplate | List of items with text and icons | Music menus, podcast listings |
CPGridTemplate | Grid of large buttons (up to 8) | Quick access to playlists |
CPMapTemplate | Embedded map (navigation apps only) | Google Maps, Waze. |
CPVoiceControlTemplate | Voice control integration with Siri | Triggered via “Hey, Siri” |
CPNowPlayingTemplate | Standard audio player (auto-displayed) | Spotify, Apple Music. |
To comply with Apple’s UI guidelines, use only official icons and symbols. Avoid custom animations or popup windows.
CarPlay Scene Management
CarPlay uses a multi-scene model similar to iPadOS: one app can have multiple active UI instances depending on where it’s displayed.
Your app launches a dedicated CarPlay scene, independent of the main iOS app scene. You work with the CPInterfaceController object, which controls what templates are displayed and how they respond to user interactions.
Example: Your iPhone handles the routing logic and API. CarPlay renders the route in a CPMapTemplate, responds to taps, and sends commands back to the iPhone.
This is crucial for proper Apple CarPlay integration, as the same code must work seamlessly across two screens without conflict.
Advanced Customization and UX Design
In CarPlay UI design, success isn’t about “how it looks,” but “how fast and intuitive it is.” You don’t have full customization freedom, it’s all about working with Apple-approved templates.
Key UX principles:
- Minimal interaction: Users should spend no more than 2 seconds per action.
- No custom UI: If Apple didn’t include an element — don’t use it.
- Voice control: Siri integration is mandatory for most use cases — especially messaging, calling, navigation.
- Instant feedback: Apps must respond quickly. Lag or freezing is unacceptable.
- Avoid long texts: UI elements should have no more than 2–3 lines. Titles: under 25 characters.
- No animations, video backgrounds, or visual clutter.
- Prepare for connectivity delays and offline scenarios. CarPlay apps, especially navigation, must work without internet.
These tips align with Apple’s Guidelines and help you customize CarPlay effectively while ensuring your app passes moderation and reaches a broad user base.
Adaptability in CarPlay isn’t about flexible UI like on iPads or Macs, but about predictability and simplicity. CarPlay runs on varied displays — vertical, horizontal, narrow, or wide. Use dynamic sizing, avoid fixed frames and horizontal scrolling, which doesn’t suit driving environments.
Testing, Validation, and Deployment
What should be on your CarPlay testing checklist before submission?
- Interface complies with Human Interface Guidelines (no custom UI).
- All templates (e.g., CPListTemplate, CPGridTemplate, etc.) work without crashes.
- Smooth screen transitions, no freezing.
- Proper handling of CarPlay connection/disconnection.
- No memory leaks or performance issues.
Even full compliance doesn't guarantee fast release. Even if your app is already on the App Store, Apple requires an additional manual review, which may take several days or even weeks.
You must request CarPlay access via the Apple Developer Portal. You might also need to provide a demo video, especially if moderators request proof of functionality.
Tip! When debugging your CarPlay app, monitor logs via the Xcode Console and use debugging tools to quickly track down errors, especially in SceneDelegate and CPInterfaceController.
Common issues during testing and moderation include:
- Using CarPlay for ads. Banners, popups, or aggressive CTAs are strictly prohibited.
- No fallback functionality. For instance, if the user denies location access, the app should still work, not crash.
- Template misuse. Using MapTemplate to display non-map data is a violation.
If you have questions, seek help through the Apple Developer Portal, Apple Developer Forums, or communities on Reddit and Stack Overflow.
To stay updated, attend major events like WWDC (which unveiled CarPlay Ultra last June), meetups, and hackathons.
Integration Strategies for Apple Car and Other Vehicles
Every automaker uses different software platforms, which can affect CarPlay functionality. BMW, Mercedes, and Tesla systems differ in firmware, and aftermarket head units (e.g., Pioneer, Alpine) may add constraints.
Three core principles for CarPlay integration:
Design from the scenario, not the interface. Define what the user needs in the moment: navigation, calling, quick reply, and optimize accordingly.
Test in real-world conditions. Simulators help, but in-vehicle testing is essential to verify behavior.
Handle sensor data carefully. Avoid overloading data channels — interference may disrupt vehicle systems.
Important! Always follow Clean Code Principles in CarPlay projects: separate concerns (e.g., isolate business logic from UI), use meaningful naming, avoid magic numbers (use constants), handle errors gracefully (crucial in unstable environments), ensure testability (unit-test without CarPlay hardware), and optimize performance (cars have limited resources).
Interfacing with Vehicle Sensors and Hardware
If you want to access vehicle data, such as speed, location, battery level, temperature, etc. it can be a tricky task. In fact, direct access is not an option. However, there are indirect workarounds.
Interfacing with vehicle sensors requires:
- support from the OEM (not all manufacturers offer such access);
- the use of the Apple CarPlay framework, if access to sensors is granted through a partner channel;
- the use of Bluetooth, Wi-Fi, or CAN integration via external devices or adapters (commonly used in commercial fleet solutions).
The workaround? You can get speed data via CoreLocation (GPS) or CAN bus (if OEM access is available). Check fuel levels through third-party APIs (for vehicles that support cloud services). Retrieve mileage using OBD-II (though this requires separate authorization), and so on.
Connectivity with iOS and Cloud Services
Ultimately, successful CarPlay integration is impossible without stable connectivity with iOS and the cloud. Here’s what to focus on:
- Use iCloud or third-party cloud platforms (Firebase, AWS, Azure) for syncing profiles, routes, favorites, and media.
- Through iOS, you can receive push notifications, use SiriKit, and exchange data with the main app.
- Connectivity with iOS allows automotive scenarios to be tied to a personal device, for example, you can start a route on your iPhone and continue it through CarPlay.
Monetization and Business Use Cases
Most apps are monetized through advertising. But that’s not the case here. Does this mean CarPlay app development is a financial dead-end? Absolutely not.
While direct sales, aggressive ads, and pop-ups are prohibited, here’s what works:
Freemium model with advanced features. Offer basic functionality via CarPlay, with premium features unlocked through subscriptions or in-app purchases in the iOS app.
Integration with paid services. If you provide subscription-based offerings (podcasts, educational content, telematics), CarPlay becomes a convenient access channel. This approach works well for media companies, education platforms, and navigation or parking service providers.
B2B and corporate licensing. A large share of monetization happens outside the App Store — through direct contracts with companies and automakers. For instance, apps can be pre-installed in vehicles or used as part of enterprise systems.
Additionally, CarPlay apps are widely used in business settings. Companies need custom apps for truck drivers, couriers, taxis, and field workers. Technology enables dynamic routing, trip logging, dispatcher voice communication, and more.
CarPlay Ultra Future Trends and Developer Opportunities
Apple is actively developing CarPlay Ultra: a next-generation system with deep integration into vehicles, including control over climate, multimedia, and digital dashboards. This opens major opportunities for developers, especially in navigation, smart home (IoT), and voice assistant domains.
According to Apple, by 2026 this technology will be in 98% of premium vehicles.
A key trend is AI integration into CarPlay interfaces. Developers can now use natural language processing (NLP) and voice assistants to deliver personalized experiences: smart routing, habit-based suggestions, automatic message reading. Using the CarPlay API for voice interaction is becoming essential to modern UX.
As autonomous vehicles grow, Apple Car integration goes beyond today’s UX. CarPlay Ultra will serve not only as the driver’s interface but also as a passenger media hub, fully connected to iOS and the cloud.
Want early updates on CarPlay Ultra and other tech breakthroughs? Follow our blog — we share only what matters.
The future of vehicles is smart apps. Be part of it.