用途:构建具备类别权限、基于系统模板的 CarPlay 应用,将内容呈现到车载显示屏。适用于导航、音频、通信、电动车充电、停车、点餐等符合条件的应用类别。技术范围标注为 Swift 6.3、iOS 26+。
主要能力:按类别配置 CarPlay entitlement 与场景角色,保留场景委托提供的接口控制器;构建类别允许的模板层级(标签栏、列表、地图、正在播放、兴趣点、导航会话等);处理导航、音频、通信与兴趣点的专用模板及 completion handler;验证重连、日间/夜间外观、多种显示尺寸与驾驶限制。
使用方式:先在确认类别合格后获取对应 CarPlay entitlement;在 Info.plist 配置 CPTemplateApplicationSceneSessionRoleApplication 场景,Entitlements.plist 写入正确的 entitlement 键,并将 UIApplicationSupportsMultipleScenes 设为 true;场景委托类名需与 UISceneDelegateClassName 一致。导航类应用实现 templateApplicationScene(:didConnect:to:)(带 CPWindow),非导航应用实现 templateApplicationScene(:didConnect:)(不带窗口)。根模板在 didConnect 返回前设置;断开时清空接口控制器与窗口引用。列表填充前检查 maximumItemCount / maximumSectionCount 与 CPSessionConfiguration.limitedUserInterfaces。
限制与注意:CarPlay 要求使用模板,不可在导航窗口自绘任意 UI,CPWindow 仅用于地图内容;CPTabBarTemplate 只能作为根模板,不可 push 或 present;CPNowPlayingTemplate 必须用 .shared;CPMessageListItem 由 Siri 管理,不设置自定义 handler;CPListItem.handler 需在所有代码路径调用 completion。WidgetKit 部件与 ActivityKit 实时活动属于独立系统体验,不按 CarPlay 模板应用处理。
资料未提供具体收费、价格、平台适配细节或效果数据。