carplay

Build CarPlay-enabled iOS apps with CPTemplateApplicationSceneDelegate and template hierarchies.

Updated May 6, 2026
One-click install
npx skills add https://github.com/Roy-wonji/claude-config --skill carplay-roy-wonji
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: carplay
Source: https://github.com/Roy-wonji/claude-config/tree/main/skills/swift-ios-skills/skills/carplay
Command: npx skills add https://github.com/Roy-wonji/claude-config --skill carplay-roy-wonji

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill helps you implement CarPlay-enabled iOS apps that reliably connect, render the correct template-based UI, and work across navigation, audio, communication, and point-of-interest use cases without common entitlement or lifecycle mistakes.

Core Features & Use Cases

  • Entitlements & Setup: Guides you to request the proper CarPlay entitlement category, configure Entitlements.plist, and connect the scene correctly.
  • Scene Configuration: Covers CPTemplateApplicationSceneDelegate for both non-navigation and navigation scenes, including correct Info.plist scene manifest wiring.
  • Template-Centric App Building: Explains how to structure apps using CarPlay templates like CPMapTemplate, CPListTemplate, CPTabBarTemplate, CPNowPlayingTemplate, CPContactTemplate, and CPPointOfInterestTemplate.
  • Navigation, Audio, Communication, POI Flows: Provides practical patterns for route selection, trip sessions, browsing lists, Now Playing controls, calling intent surfaces, and POI ordering/navigation.
  • Simulator Testing: Shows how to run and size-test with the CarPlay simulator, plus guardrails about what you cannot fully test.
  • Safety Guardrails & Review Checklist: Highlights common failures such as using the wrong delegate method, misusing CPWindow, pushing CPTabBarTemplate, instantiating CPNowPlayingTemplate incorrectly, forgetting completions, and ignoring vehicle display limits.

Quick Start

Implement the CPTemplateApplicationSceneDelegate variant that matches your target (navigation vs non-navigation), set the correct CarPlay scene in Info.plist, then build your root template using CPMapTemplate (navigation) or a template like CPTabBarTemplate/CPListTemplate (non-navigation) and 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 configure CarPlay entitlements and scene delegates in an iOS app?

To configure CarPlay entitlements, request the proper entitlement category in Entitlements.plist and implement the correct CPTemplateApplicationSceneDelegate variant for navigation or non-navigation scenes wired through Info.plist.

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

Use CPMapTemplate for navigation apps, and CPListTemplate, CPTabBarTemplate, or CPNowPlayingTemplate for audio apps to structure the vehicle display UI according to CarPlay template constraints.

Why does my CarPlay app template not appear correctly on the vehicle display?

Your CarPlay app template may not appear due to using the wrong delegate method, misusing CPWindow, or incorrectly instantiating CPNowPlayingTemplate instead of following proper CPTemplate hierarchy rules.

Can I test CarPlay app scenes and templates using the iOS simulator?

Yes, you can run and size-test CarPlay app scenes and templates using the iOS simulator, though some vehicle display limits and hardware-specific behaviors cannot be fully tested there.

When do I need CPTabBarTemplate and CPNowPlayingTemplate in my CarPlay app?

Use CPTabBarTemplate as a root container for non-navigation apps and CPNowPlayingTemplate for audio playback controls, but avoid pushing CPTabBarTemplate or instantiating CPNowPlayingTemplate incorrectly to prevent UI failures.

What's the best way to structure a point-of-interest experience for CarPlay?

Structure a point-of-interest experience using CPPointOfInterestTemplate and CPListTemplate to provide POI browsing, ordering, and navigation flows within your CarPlay app's template hierarchy.