-
为你的 CarPlay 车载 App 加足马力
了解 CarPlay 车载音频、导航、语音对话类 App 等方面的新功能。探索如何打造 CarPlay 车载视频 App,让用户在停车休息时能够直接在兼容车型上浏览并观看喜爱的视频。了解如何将缩略图、媒体信息和语音控制统统整合到你的 CarPlay 车载 App 中。
章节
- 0:00 - Introduction
- 0:42 - Apps in CarPlay
- 2:51 - CarPlay framework
- 11:54 - Navigation apps
- 15:19 - CarPlay Simulator
资源
相关视频
WWDC25
-
搜索此视频…
大家好,我是 Chris, 车载体验团队的工程师。 很高兴为大家介绍 iOS 27 中 CarPlay 的新功能。 CarPlay 是在车内使用 iPhone 更智能、更安全的方式。 iOS 27 为所有类别的 CarPlay 应用带来了新功能, 助力您的应用在 CarPlay 中大放异彩。 我们将介绍 CarPlay 中 支持的新应用类别, 并介绍适用于所有应用的 CarPlay 框架更新。 我们还将介绍 CarPlay 导航应用的新功能, 以及 CarPlay 模拟器的新变化。
CarPlay 支持种类丰富的应用类别。
音频应用可以播放 音乐、播客等内容。 通讯应用让用户能够发送和接收 消息,以及拨打电话。 导航应用提供逐向导航。 所有 CarPlay 应用的共同点是, 它们帮助用户在不拿出 iPhone 的情况下完成重要任务。
此外,CarPlay 支持 任何应用的实时活动和小组件。 您可以展示及时、相关的信息, 即使您的应用并非 专为 CarPlay 设计。 今年我们新增了对 语音对话应用的支持…… ……现在 iOS 27 让您可以 创建应用以浏览和播放视频, 适用于支持车内视频功能的新车型。 如果您的应用支持 AirPlay 视频串流,则无需更改。 用户已经可以在 CarPlay 显示屏上 观看来自您应用的视频, 前提是他们未在驾驶时。 为此,他们只需在 iPhone 上 播放视频时选择车载显示屏即可。 现在您可以更进一步, 让用户直接在 CarPlay 显示屏上 通过 iPhone 浏览 他们喜爱的视频。 非常适合那些坐在车里的场景, 比如在机场等朋友, 停在充电站, 或者只是在车内舒适地 享受片刻时光。 CarPlay 视频应用适用于 支持车内视频功能的车型。 CarPlay 视频应用需要支持 AirPlay 视频串流…… ……并使用 CarPlay 框架 在 CarPlay 显示屏上 提供浏览体验。 下一节我们将介绍 CarPlay 框架的新增内容, 帮助您创建视频浏览界面。 不过在此之前, 先补充几点关于视频应用的说明。 在任何时候,车辆可能会指示 视频播放暂不可用。 如果出现这种情况, 您的视频将以纯音频方式播放。 这非常适合在驾驶时 继续收听播客, 或收听体育赛事直播。 拥有 CarPlay 视频权利的应用 仅在 CarPlay 主屏幕上显示, 前提是车辆支持 车内视频功能。 如果您的应用内容既适合 视频观看,也适合音频收听, 请同时包含 CarPlay 音频应用 和 CarPlay 视频应用权利。 拥有两项权利后,您的应用 便可在 CarPlay 中始终显示。
无论车辆支持 CarPlay 还是 CarPlay Ultra, 您都可以通过支持 CarPlay 框架 在驾驶员屏幕上启用您的应用。 从获取路线、发送消息, 到查找停车场, 所有类别的应用 都使用 CarPlay 框架 呈现其用户界面。 我们为所有 CarPlay 应用 提供了大量界面更新, 包括对列表的诸多增强, 全新的正在播放迷你播放器, 以及语音控制的全新呈现样式。 当您的应用使用 CarPlay 框架时, iOS 管理界面元素的显示, 并负责与车辆的交互。 通过使用丰富的模板集合, 您的应用无需管理 界面元素的布局, 无需适应不同的屏幕分辨率, 也无需支持不同的输入硬件, 例如触摸屏、旋钮 或触摸板。 我们有一个名为 Landmarks 的示例应用, 它让用户可以探索 世界各地的有趣景点。 在 CarPlay 方面,我希望收听 有配音的音频故事, 讲述这些地标的历史 和关键事实。 使用 CarPlay 框架, 我构建了一个故事列表, 非常适合在车里浏览 并播放音频故事。 但现在有了这辆支持 车内视频功能的新车, 我还可以观看这些 精彩地标的视频。 Landmarks 正在检查 CPSessionConfiguration 是否支持视频, 如果支持,则添加视频标签页。 这个视频列表展示了 CarPlay 框架中的许多其他新 API, 让我们来仔细看看。 让我们仔细了解一下。 列表现在可以显示纵向 或横向宽高比的图像。 卡片元素在此基础上更进一步, 提供缩略图, 可在图像上显示叠加层、 播放进度和体育信息。 Landmarks 使用带标题的叠加层 来描述视频, 标注为新添加或直播。 对于自定义徽章, 叠加层也可以是图像。 CPPlaybackConfiguration API 是您的应用向 CarPlay 框架 提供可播放项目元数据的方式。 对于您希望以视频方式播放的内容, 将首选呈现方式设置为视频。 否则将首选呈现方式 设置为音频。 播放配置的已播放时间和时长 会以进度条形式显示 您的可播放项目…… ……播放动作则指示 选择此项目将 播放、暂停还是重播该项目。 请务必在任何播放状态变化时 更新缩略图的播放配置, 以保持缩略图准确反映 ……该项目的播放状态。 准确反映该项目的播放状态。
另有一个叠加层可用于 显示运动队伍和比分。 运动叠加层包含左方队伍…… ……右方队伍…… ……以及赛事状态。 当您希望在列表顶部 突出展示某一项目时, 可使用详情页眉。 非常适合在剧集列表顶部 显示当前剧集, 或以下方附加内容 汇总展示一部电影。 详情页眉将单个缩略图 与以下内容组合在一起…… ……标题…… ……正文文字…… ……播放配置…… ……以及操作按钮。 在这里,Landmarks 应用 添加了一个缩略图叠加层, 将播放配置为未播放项目, 并设置了播放和 添加到播放列表的操作按钮。 播放配置的当前进度 会自动与第一个操作按钮合并。 与缩略图上的播放配置一样, 在播放状态变化时, 请更新详情页眉中的播放配置, 更新详情页眉中的播放配置, 以确保播放状态变化时的正确性。 这样可以确保状态和进度正确, 当详情页眉再次变得可见时 能正确显示。
iOS 27 的新功能—— 正在播放模板的迷你播放器。 迷你播放器让您轻松查看 当前播放内容,在较大的显示屏上 甚至可以播放、暂停或跳过。 所有显示正在播放的应用 都将自动显示迷你播放器。 迷你播放器是 CarPlay 中 正在播放的最佳选择, 但如果您的应用不希望 显示迷你播放器…… ……请将正在播放模板的 "allowsMiniPlayer"属性设置为 false, 这样正在播放图标 将显示在导航栏中, 而非迷你播放器处。 今年早些时候,我们推出了 对语音对话应用的支持。 如果您的应用具有自己的语音功能, 您可以在车内回答问题 并执行操作。 语音控制模板提供一个界面, 在语音对话期间显示 状态和控制项。 从 iOS 27 开始, 语音控制模板 适用于所有 CarPlay 应用类别。 语音控制模板包含提示语, 以及用于指示对话状态 的动画图标。 提示语和图标都是可选的。 您的应用现在可以 添加最多两个操作按钮, 以及前导和尾随 导航栏按钮。 如果您的应用用于询问 目的地或联系人信息, 操作按钮是提供开始导航 或拨打电话功能的好方式。 如需使用 URL 执行这些任务, 请通过 CPTemplateApplicationScene 打开 URL,以在 CarPlay 中执行该请求。 语音控制模板也可以 作为叠加层使用。 它不占据整个显示屏, 而是将您的语音控制元素 叠加显示在另一个模板上, 例如导航应用中的地图模板。 使用 CPInterfaceController 将 语音控制模板显示为叠加层。 尽管叠加层支持与 完整语音控制呈现相同的文字和按钮, 与完整语音控制呈现相同, 请提供较短的文字变体, 以更好地适应可用空间, 作为叠加层呈现时更为合适。 支持语音对话时, 请尝试使用音频反馈 来指示对话状态。 反馈音效,例如等待音效, 在应用仍在准备对话时播放, 以及处理音效, 在应用仍在准备回应时播放, 在主要通过语音与应用交互时 是有用的提示。 使用播放和录音类别 设置您的 AVAudioSession, 使用默认模式并禁用混音。 除了新的模板 API 外, 我们还扩展了现有模板对 更多应用类别的可用性。 有关应用类别和 可用模板的详细信息, 请查阅 CarPlay 开发者指南。
我们介绍了 CarPlay 中可用于 应用的许多新界面增强功能。 对我来说,查看我在 Landmarks 中所做所有改进的最简便方式, 就是在我的 Mac 上, 使用 CarPlay 模拟器。 让我们来看看!
这是 CarPlay 模拟器, 我已设置好配置, 代表一辆支持视频的车辆。 对于支持视频的车辆,仅拥有 CarPlay 视频权利的应用 将显示在 CarPlay 主屏幕上。 这是主屏幕上的 Landmarks 应用, 我来启动它以浏览视频。
左上角有一个标签栏。 我添加了一个新的视频标签页, 仅在支持视频时显示。 右上角的迷你播放器 提供了一种快速恢复播放 最近观看的阿尔卑斯山视频的方式。 我为地标设置了宽幅缩略图。 由于我之前在观看 阿尔卑斯山视频, 缩略图的播放配置 显示剩余时间和当前进度。
缩略图上的叠加层为 新添加和直播视频提供徽章。
此赛事的缩略图显示 包含队伍和比分的运动叠加层。 浏览这个地标列表时, 我想知道哪个地标 每年访客最多。 我添加了这个列表行来 触发语音对话, 在那里我可以提问。
语音控制模板 以叠加层形式显示, 其后方的列表仍然可见。 但我想直接去看视频。
选择缩略图会进入 一个包含详情页眉的列表模板。 详情页眉提供了 这个大型缩略图, 以及使用标题来呈现的 地标附加信息, 副标题和正文文字。 我还添加了两个按钮, 用于播放和添加到播放列表。 列表的其余部分用于 显示相关视频。 Landmarks 在页眉的 播放配置中将首选呈现方式设置为视频, 在页眉的播放配置中。 由于视频是首选呈现方式, 且 CarPlay 模拟器目前 设置为允许视频播放, 点击播放将显示视频。 我来播放这个视频!
视频播放器有菜单可以控制 字幕和音频语言选择, 因此您的视频应在可用时 包含字幕和其他语言。 通知可以显示在视频上方, 因此还有一个按钮可以 启用勿扰专注模式, 而无需离开视频。 通过缩略图叠加层、迷你播放器、 语音控制和播放配置, Landmarks 为在车内发现和 播放视频构建了出色的界面。 既然我们已经看到了 CarPlay 框架中的所有新界面功能, 接下来让我们聚焦于 导航应用的几个新功能。
导航应用现在对 地图模板的主要界面区域 拥有更多控制权, 而路线共享可协调您的应用 路线与车辆之间的配合。 在 iOS 27 中,您的导航应用可以 显示面板以创建自己的界面, 独立于呈现行程和 路线选项的流程。 面板还可以包含 多个界面元素, 为您的导航界面 提供更大的灵活性。
面板通过将一组对象 组合在一起构建, 这些对象都是您在 CarPlay 框架中已经使用的, 例如行程、网格、 路线选择、路线详情, 途经点和其他列表项目。 面板的按钮配置 设置了操作, 这些操作将显示在 面板底部, 例如"出发"或"结束"按钮。 当您的导航应用使用面板时, 您可以控制地图模板的 主要界面区域。 通过构建并推送面板, 您的应用可以在保持地图可见的 同时显示更多内容和控件。 某些配备驾驶辅助系统 的车辆在已知预定路线时 效果最佳。 例如,车辆可能支持 自动变道, 或调整其导引系统以更贴近 您应用中显示的路线。 此外,对于特定路线, 电动车辆可能会建议充电停靠点, 具体取决于车辆的 可用续航里程。
通过路线共享, 这些驾驶辅助功能 即使在人们使用您的 CarPlay 导航应用获取路线时也能工作。 路线共享需要 iOS 26.4 或更高版本, 以及受支持的车辆。
您的应用以路段数组的形式 向车辆提供路线, 这些地理坐标在 行程发生变化时 会发送给车辆。 浏览 Landmarks 应用 激发了我去一次露营旅行的想法。 我打算一大早出发, 想在途中停在一家咖啡馆, 所以我在导航应用中 添加了两个停靠点:先是咖啡馆,然后是露营地。 使用 CarPlay 框架, 导航应用构建了 一个包含两段路线的行程。 路线共享将该行程 发送给了车辆。 由于我的车是电动车, 它估算了整个行程 的能耗, 并确定此行程需要 在途中停靠充电。 车辆搜索了 此行程最理想的充电站, 并将该目的地 发回给 iOS。 这个建议的途经点 通过地图模板被导航应用接收。 然后导航应用可以选择 如何处理这个建议的途经点。 通过向地图模板返回 更新后的行程估算, 地图模板将自动 提示驾驶员 接受此附加途经点。 或者导航应用可以 不返回行程估算, 而是直接管理 附加途经点的确认。 无论哪种方式,一旦驾驶员 接受了该途经点…… ……导航应用就会更新 行程,添加新的路段。 然后更新后的行程 再次与车辆共享。 现在我会先停在充电站, 然后去咖啡馆, 这样我和我的车 都会精力充沛地到达目的地。 驾驶员和您的应用都可以控制 路线共享的时机。 与车辆配对时, 驾驶员会被提示批准 该车辆的路线共享。 驾驶员的批准 允许任何导航应用 在连接到该车辆时 共享路线。 要从您的导航应用启用路线共享, 请使用地图模板 选择加入路线共享。 如果您的应用确定 某些行程不符合条件, 也可以针对单个行程 禁用路线共享。
CarPlay 模拟器使测试 您的 CarPlay 应用 就像连接到您的 Mac 一样简单! 对于 CarPlay 中的任何类别的应用, CarPlay 模拟器支持测试 不同的屏幕尺寸 和车辆配置。 CarPlay 模拟器现在 可在设备中心中使用。 导航应用开发者应试用 路线共享的新诊断工具。 对于视频应用开发者, 请使用 Xcode 附加工具包 下载 CarPlay 模拟器。
现在您已经看到了 新的模板选项, 请考虑在 CarPlay 中的应用中 添加缩略图、详情页眉和语音控制。 如果您的应用有视频, 请让它们可在 CarPlay 中浏览。 最后,如果您有导航应用, 请查看新的面板和路线共享功能。
感谢您一路陪伴, 我为您介绍了这些新功能, 当然,我也期待看到您如何 充分利用这些功能, 让您的 CarPlay 应用大放异彩!
-
-
6:45 - Disable the MiniPlayer
// Disable the MiniPlayer CPNowPlayingTemplate.shared.allowsMiniPlayer = false -
15:06 - Enable route sharing
// Enable route sharing func mapTemplateShouldProvideRouteSharing(_ mapTemplate: CPMapTemplate) -> Bool { true } -
15:12 - Disable route sharing for this trip
// Disable route sharing for this trip trip.routeSegmentsAvailableForRegion = false
-
-
- 0:00 - Introduction
CarPlay is the smarter, safer way to use your iPhone in the car. iOS 27 brings new capabilities to all categories of CarPlay apps.
- 0:42 - Apps in CarPlay
CarPlay supports a range of app categories, including Live Activities and widgets from any app, and new this year, voice-based conversational apps and video browsing in supported cars.
- 2:51 - CarPlay framework
iOS 27 introduces enhancements for lists, a MiniPlayer for now playing, and a new presentation style for voice control.
- 11:54 - Navigation apps
Navigation apps have more control over the primary interface area of the Map template and Route sharing coordinates your app’s routing with the vehicle.
- 15:19 - CarPlay Simulator
CarPlay Simulator makes testing your CarPlay app as easy as connecting to your Mac.