用途:该技能面向 CarPlay 音频「正在播放」集成,帮助开发者在 CarPlay 中实现音频控件、CPNowPlayingTemplate 自定义,以及排查 CarPlay 专属问题。资料给出的预计耗时约 15-20 分钟(前提是 MPNowPlayingInfoCenter 已可正常工作)。
主要能力与原理:CarPlay 与锁屏、控制中心共用同一套 MPNowPlayingInfoCenter 和 MPRemoteCommandCenter。若「正在播放」在 iOS 上已正常,CarPlay 中会自动生效,无需额外代码或 CarPlay 专属元数据。CarPlay 读取 nowPlayingInfo 中的标题、艺人、封面,以及 MPRemoteCommandCenter 的处理逻辑,用于 CPNowPlayingTemplate 的元数据与按钮响应。
使用方式:iOS 14+ 可自定义标准播放/暂停/跳转之外的控件。需在连接时(templateApplicationScene(_:didConnect:))配置 CPNowPlayingTemplate.shared,而非在推入时配置;可设置 isAlbumArtistButtonEnabled、isUpNextButtonEnabled,并通过 updateNowPlayingButtons 添加 CPNowPlayingPlaybackRateButton、CPNowPlayingShuffleButton、CPNowPlayingRepeatButton 等按钮。使用 CarPlay 需在 Xcode 项目中配置权限:Info.plist 中加入 UIBackgroundModes 的 audio,Entitlements 文件中加入 com.apple.developer.carplay-audio 设为 true;缺少权限时应用不会出现在 CarPlay。
常见问题与排查:应用不显示(缺权限)、CarPlay 中正在播放空白(未设置 MPNowPlayingInfoCenter)、自定义按钮不出现(在推入后配置)、按钮在真机可用但 CarPlay 模拟器不行(调试器干扰,建议不附加调试器测试)、封面缺失(需修复 MPMediaItemArtwork)。
测试方式:Xcode 12+ 模拟器通过 I/O → External Displays → CarPlay,点击 CarPlay 显示,在 Audio 区域找到应用;建议不附加调试器运行。真实车辆需 Apple 批准权限(含 UIBackgroundModes audio 的应用可自动获得,无需手动申请)。验证项包括应用出现在 CarPlay Audio 区域、元数据正确、封面显示、播放/暂停/跳转响应、自定义按钮可用,以及有无调试器时均测试。
限制:资料未提供具体的收费、价格、平台支持细节和更多使用步骤,相关信息暂未提供。