carplay

Guide building CarPlay apps with Apple's CarPlay framework and templates.

4|1|Updated Apr 2, 2026
One-click install
npx skills add https://github.com/AutisticAF/claude-code-apple-dev-plugin --skill carplay-autisticaf
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: carplay
Source: https://github.com/AutisticAF/claude-code-apple-dev-plugin/tree/main/skills/carplay
Command: npx skills add https://github.com/AutisticAF/claude-code-apple-dev-plugin --skill carplay-autisticaf

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Helps developers design, implement, and test CarPlay-enabled iOS apps by consolidating template selection, scene lifecycle management, entitlement and provisioning setup, Siri intent handling, and simulator/hardware testing guidance so CarPlay features work reliably across head units and instrument clusters.

Core Features & Use Cases

  • Template selection & architecture: Guidance for choosing and composing CPTabBarTemplate, CPListTemplate, CPMapTemplate, CPGridTemplate, CPNowPlayingTemplate, and CPPointOfInterestTemplate as appropriate for navigation, audio, communication, or EV charging apps.
  • Scene lifecycle & delegates: Best practices and example code for CPTemplateApplicationScene, CPTemplateApplicationDashboardScene, CPTemplateApplicationSceneDelegate, and handling connect/disconnect, instrument cluster windows, and template stack limits.
  • Entitlements, provisioning & Siri: Steps to request and apply category-specific CarPlay entitlements, Info.plist scene declarations, INIntent integration for messaging and media, and common pitfalls to avoid.
  • Testing & reliability: Checklist and methods for Xcode CarPlay Simulator, external display/instrument cluster simulation, hardware testing, and ensuring UI responsiveness (completion handlers, template stack bounds).

Quick Start

Show me how to implement a CPTemplateApplicationScene-based CarPlay navigation app including entitlement setup, scene configuration in Info.plist, a CPTabBarTemplate root, and how to test it in the CarPlay simulator.

Frequently Asked Questions about carplay

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I set up a CarPlay entitlement and Info.plist scene configuration for an iOS app?

To configure CarPlay entitlements, you must request category-specific provisioning from Apple and declare CPTemplateApplicationScene entries in your Info.plist. This setup establishes the required scene lifecycle and delegate connections for head unit rendering.

What CarPlay template should I use for a navigation or audio app?

For navigation apps, use CPMapTemplate to display routes and overlays, while audio apps should implement CPNowPlayingTemplate or CPListTemplate. CPTabBarTemplate can compose multiple templates as a root interface for complex apps.

How does CPTemplateApplicationScene delegate lifecycle management work when connecting to a head unit?

CPTemplateApplicationSceneDelegate handles connect and disconnect events when a head unit establishes or breaks the CarPlay session. You manage template selection, stack limits, and instrument cluster windows within these delegate callbacks to ensure UI responsiveness.

Can I test CarPlay apps using the Xcode simulator without a physical car?

Yes, you can test CarPlay apps using the Xcode CarPlay Simulator to validate template rendering and external display behavior. For full reliability, hardware testing on actual head units and instrument cluster simulations is also recommended.

Why does my CarPlay template stack fail or behave unexpectedly during navigation?

CarPlay template stack failures often occur when exceeding stack limits or missing completion handlers. You must adhere to template stack bounds and implement proper completion handler usage to maintain UI responsiveness across instrument clusters and head units.

Do I need Siri intent integration for a CarPlay communication app?

Yes, CarPlay communication apps require INIntent integration for messaging alongside category-specific entitlements. This enables Siri voice interaction and messaging template handling within the CPTemplateApplicationScene lifecycle.