用途:用于在 iOS 应用中实现 CarPlay 音频控制与 Now Playing 集成,或排查 CarPlay 专属问题。资料指出 CarPlay 与锁屏、控制中心使用同一套 MPNowPlayingInfoCenter 和 MPRemoteCommandCenter,只要 iOS 端 Now Playing 正常,CarPlay 会自动生效,无需 CarPlay 专属元数据,预计耗时 15-20 分钟。
主要能力:CarPlay 会读取 nowPlayingInfo 作为 CPNowPlayingTemplate 的标题、艺人、封面元数据,并响应 MPRemoteCommandCenter 处理器;iOS 14+ 可对 CPNowPlayingTemplate 进行自定义,包括启用专辑/艺人浏览按钮、Up Next 队列按钮,以及添加播放速率、随机、循环等自定义按钮,需在连接时通过 templateApplicationScene(_:didConnect:) 配置。
必要用法与权限:Xcode 工程需在 Info.plist 配置 UIBackgroundModes 为 audio,并在 Entitlements 中加入 com.apple.developer.carplay-audio,否则 CarPlay 不会显示应用;真车测试需 Apple 权限审批,带 UIBackgroundModes audio 的应用可自动获得。
常见限制与排查:应用不显示多因缺少权限;Now Playing 空白因未设置 MPNowPlayingInfoCenter;自定义按钮不出现因在 push 之后才配置;封面缺失与 iOS 端同一问题;按钮在真机可用但 CarPlay 模拟器失效可能源于调试器干扰。测试可在 Xcode 模拟器通过 I/O → External Displays → CarPlay 进入 Audio 区域找到应用,建议不挂调试器运行。验证要点包括应用出现在 Audio 区、元数据与封面正确、播放控制响应、自定义按钮出现并可用。