View in English

  • 打开菜单 关闭菜单
  • Apple Developer
搜索
关闭搜索
  • Apple Developer
  • 新闻
  • 探索
  • 设计
  • 开发
  • 分发
  • 支持
  • 账户
在“”范围内搜索。

快捷链接

5 快捷链接

视频

打开菜单 关闭菜单
  • 专题
  • 相关主题
  • 所有视频
  • 关于

返回 WWDC25

  • 简介
  • 概要
  • 转写文稿
  • “钱包”的新功能

    了解“钱包”中的最新功能和改进。我们将介绍如何以惊艳的全新设计更新你的登机牌,并探索适用于多场次活动门票的新功能。我们还将讨论有助于你将凭证无缝添加到“钱包”中的 API 更新。

    章节

    • 0:00 - 简介
    • 0:51 - 将临近活动添加到门票
    • 7:08 - 升级登机牌设计
    • 16:18 - 自动添加凭证

    资源

    • Human Interface Guidelines: Wallet
    • PassKit (Apple Pay and Wallet)
      • 高清视频
      • 标清视频

    相关视频

    WWDC25

    • Apple Pay 的新功能

    WWDC24

    • “钱包”和 Apple Pay 的新功能
  • 搜索此视频…

    大家好 欢迎观看 “‘钱包’的新功能”讲座 我是 Pavel Wallet 团队的一名工程师 在今天的讲座中 我将带大家了解 今年“钱包”即将推出的新功能 以及如何为你们的凭证 适配这些功能 首先我将演示如何 在票证中添加后续活动信息 让持票人能够便捷查看 票证涵盖的所有活动安排 接着 我将展示如何采用 全新设计的登机牌样式 为乘客提供贯穿整个行程所需的 完整航班信息 最后 我将演示如何通过 全新的 PKPassLibrary API 让你的 iOS App 在获得一次性授权后 自动将凭证添加到“钱包” 今天有很多内容要讲 我们现在 直接从“后续活动”功能开始讲起 去年 “钱包”推出了 采用语义标签技术的 “海报活动票证” 通过全新设计 呈现活动关键信息 包含直达场馆的“地图”导航链接 以及展示活动详情 和附加服务的“活动指南” 今年 海报活动票证将 支持“后续活动”功能 让用户仅凭一张票证 即可便捷访问多个活动

    轻点某个后续活动时 系统会打开 与海报活动票证结构 相同的详情页面 这个页面可配置 专属活动的新版视觉素材、 场馆信息、完整活动指南 以及这个活动特有的其他信息 后续活动功能基于 iOS 18 引入的 海报活动票证语义体系实现 如需了解语义系统的工作原理 建议观看 WWDC24“‘钱包’和 Apple Pay 的新功能” 讲座 现在我将演示如何在你的 pass.json 中配置后续活动 后续活动定义在一个新的 “upcomingPassInformation”数组中 这个数组包含“钱包” 应在“后续活动”列表中 显示的所有事件 对于“upcomingPassInformation” 数组中的每个对象 请将它的类型设为“event” 并包含一个唯一标识符、 活动的显示名称以及活动日期

    这些字段会在活动的 详情页面上突出显示

    “后续活动”对象的结构 与构建“海报活动票证”时 使用的结构相同

    你可以在“semantics”对象中 添加活动相关信息 并在“additionalInfoFields” 或“backFields”中添加 未包含在语义中的自定义属性 此外 一个新的“URLs”对象用于 分组与这个活动相关的所有操作 而“images”对象则用于配置 与活动关联的图片 下面我来演示这些对象 如何配置后续活动的 UI 在活动详情页的顶部 “钱包”会显示代表活动的头图 默认情况下 这里会显示 凭证的背景图片 但你可以通过指定图片 URL 为后续活动 添加自定义的“headerImage”

    请注意 这些活动会 同时出现在 iOS 和 watchOS 设备上 因此建议提供 适配不同屏幕尺寸的图片 以便“钱包”能选择 最适合当前设备的版本

    头图下方会显示一个信息卡片 其中包含“venueName” 并允许持票人直接在“地图”中 查看这个场馆 这一功能沿用了 凭证原有的语义结构 在我的“后续活动”语义对象中 我使用“venueName”、 “venuePlaceID”和“venueLocation” 语义添加了场馆信息

    这个语义对象是集中定义 活动相关语义的地方 例如表演者或座位信息 “钱包”会根据这些数据 在相应位置展示详细信息 例如 由于我为这个后续活动 添加了座位信息 “钱包”会直接在详情页面上 展示这些数据

    像场馆名称和座位信息 这类关键语义会被突出显示在页面上 而其他大多数语义 则会填充到活动指南中 它的运作方式与 iOS 18 引入的 凭证活动指南完全一致

    这个活动指南专属于 当前后续活动 并由“后续活动”对象的内容填充 你可以配置活动指南来显示 用于快速访问常用操作的按钮组 使用活动地点语义的天气信息卡片 场馆地图和其他相关语义信息

    要设置这里显示的 URL 我需要在后续活动的 URLs 对象中填充 想要为这个活动展示的操作链接 在本例中 我提供了一组与 凭证活动指南中不同的 URL 请注意 后续活动 虽然与凭证结构相同 但不会复用我为凭证定义的属性 若希望后续活动指南 与凭证活动指南 显示相同 URL 必须在后续活动对象中 包含相同的值

    后续活动的场馆地图 可通过指定图像获取 URL 来配置 正如我之前演示头图设置的方式 默认情况下 “钱包”不会直接复用 凭证活动指南中的场馆地图 但可以通过 将“reuseExisting”属性 设为 true 来复用同一张地图 请注意 如果不提供任何 URL 或未将“reuseExisting”设为 true “钱包”将不会为后续活动 显示场馆地图 后续活动功能是让持票人清楚了解 凭票可参与的所有活动的绝佳方式 在你探索如何为票证添加后续活动时 请记住 后续活动与活动票证的 结构完全相同 因此 最佳实践是首先考虑 凭证上提供的 每个语义标签和 URL 应如何针对后续活动进行调整 “钱包”的相关文档是探索 票证和后续活动 定制方式的宝贵资源 你无需在首次创建凭证时 就定义所有后续活动信息 如需逐步添加后续活动 只需发送包含新增活动的 凭证更新即可 通过“isActive”属性 “钱包”可判断活动时效性 请务必在活动开始和结束时 更新这个属性 若活动取消 或与持票人不再相关 建议从 pass.json 中移除活动

    这样能确保后续活动列表始终显示 最新有效信息 现在让我们看看今年 推出的升级版登机牌 以及如何充分利用所有新功能 “钱包”登机牌已帮助数百万乘客 顺利通过机场安检并完成登机 今年 登机牌将迎来重大升级 采用前所未有的动态可配置新设计 升级版登机牌 整合 Apple 航班服务 可自动保持信息更新 无需再为每个登机口变更或航班延误 手动更新凭证 这次升级还包含全新的实时动态功能 可便捷呈现关键航班信息 全程为旅客提供行程动态 实时动态甚至能通过“信息”共享 让亲友能在自己的设备上 追踪航班状态 航班追踪现已内置于 所有升级版登机牌中 当乘客添加升级版登机牌时 “钱包”将订阅航班状态更新 并在航班变更时推送通知 这些更新会同步至 登机牌和实时动态界面 确保乘客在两个界面 都能查看最新航班信息

    除航班追踪外 新版登机牌还具备更深度的系统整合 通过“地图”提供前往机场的导航 接入“查找”实现行李追踪 此外还新增了航空服务与升舱专区 为乘客提供更丰富的行程信息 轻点这个专区即可查看 乘客全程可操作的所有服务选项 以及相关操作的摘要信息 下面我们将详细解析 这些新功能的运作机制 以及你在采用升级版登机牌时的 配置方法 从登机牌顶部开始 航班的表头区域将固定显示 航班号和出发日期 升级版登机牌会始终 在此处显示这些字段 通过 pass.json 中的语义 来识别航班信息

    “钱包”会通过 airlineCode、 flightNumber、 和 originalDepartureDate 语义 在登机牌添加成功后 立即通过 Apple 航班服务 开始追踪航班动态 如果是代码共享航班 通常建议提供营销航司代码 和航班号 若你希望乘客看到承运航班号 也可以选择提供这个信息 这两种方式都能确保“钱包” 通过 Apple 航班服务 找到正确航班 “钱包”会根据 Apple 航班服务的数据 自动更新凭证上显示的时间 如果你同时推送凭证更新 请务必使用 currentDepartureDate 或 currentArrivalDate 语义 不应更新原始日期 除非航班已官方调整 回到登机牌界面 下一部分会显示城市名称、 机场代码以及出发和到达的 登机口时间 你的出发和到达日期语义字段 应明确指定登机口时间 因为登机时间 会作为独立字段 在登机牌上突出显示 并且基于 originalBoardingDate 和 currentBoardingDate 语义 当“钱包”更新出发和到达时间时 登机时间也会自动同步调整 以匹配新的出发时间 在添加或更新凭证时 “钱包”会比对你设置的登机时间 和出发时间语义字段 自动计算出登机时长 然后 当 Apple 航班服务中的 出发时间发生变化时 凭证上显示的登机时间 将自动更新 始终维持根据你的语义标签 所计算的登机时长 例如 若航班延误三小时 登机时间也会相应延后三小时 若你通过新的 currentBoardingDate 更新凭证 “钱包”将重新计算登机时长 并在必要时更新登机牌上的时间显示 这个例子展示了语义数据 如何为“钱包”提供航班上下文信息 而无需直接绑定到用户界面 “钱包”会优先为乘客展示最新信息 并利用你提供的语义字段 决定凭证上的数据 应如何随时间更新 现在让我们看看语义数据如何 驱动升级版登机牌 UI 的其他新功能 “徽章”是一项新功能 让乘客和登机口工作人员 能直接在登机牌上快速识别关键信息 你在 pass.json 中定义的 部分语义数据 会显示在乘客姓名下方

    升级版登机牌支持最多两行徽章 可展示诸如机票舱位等级、 随身行李额度 或乘客的特殊需求等信息 “钱包”会自动分析 pass.json 中的语义字段 并自动排布相应的徽章组合 为统一各航司的常用徽章标准 升级版登机牌通过 “passengerServiceSSRs”语义字段 支持 IATA 特殊服务请求代码

    多数徽章的文本由“钱包”统一定义 但我们也新增了几个语义字段 让你可以完全自定义 航司专属信息的标签 我们来看一个例子 在语义对象中 我通过 “passengerServiceSSRs”语义 添加了服务犬和机舱轮椅 等特殊服务请求代码

    同时 我还自定义了几个语义字段 比如机票舱位等级 和乘客航司会员等级

    当我再次调出登机牌时 可以看到基于这些语义生成的新徽章 请注意前两个徽章显示的是 我提供的文本内容 而特殊服务请求代码则显示 “钱包”预设的文本 “徽章”是诠释“钱包”运用语义的 方式的绝佳示例 在我的代码中 我没有为每个字段 定义明确的徽章对象 相反 通过提供乘客相关上下文信息 “钱包”就能生成优先展示 关键信息的徽标 通过这种语义化方式 “钱包”能在登机牌上 整合更多信息 而不会影响易用性 全新架构向所有航空公司 开放统一的语义字段集 确保乘客每次飞行 都能获得一致的体验 建议你查阅我们的开发者文档 探索升级版登机牌 可支持的更多语义字段配置

    现在 我将演示如何配置 “航司服务与升舱”界面 通过相关操作 引导用户返回至你的 App 当你在 pass.json 中为机票管理、 机上 Wi-Fi 购买 或座位升舱等操作配置 URL 时 “钱包”会自动在服务升舱界面 生成对应操作按钮 并附带相关语义信息 提供操作的上下文信息

    URL 在 pass.json 中 被定义为顶级属性 升级版登机牌支持乘客在飞行前、 飞行中和飞行后采取的 一系列常见操作

    为你希望乘客在登机牌上 看到的所有操作 添加对应 URL 并设置你的 App 直接跳转到 让用户完成每个操作的对应界面

    请记住 “钱包”会为每个操作 显示额外的上下文信息 因此请务必填写尽可能多的语义数据 以在这个界面上提供丰富、 完整的体验 让我用另一个例子来演示

    我可以提供一个 “purchaseLoungeAccessURL” 来显示购买贵宾室凭证的按钮 但这个按钮看起来有点孤单 如果能添加更多上下文信息会更好 如果我添加 “airlineLoungePlaceID”语义 “钱包”将显示贵宾室位置的 “地图”预览 通过提供额外的上下文信息 我大大改善了用户体验 使用户界面更加完整

    这些只是对服务和升舱界面配置的 简要说明 关键是要记住 “钱包”通过 解析 pass.json 中的 URL 和语义数据来构建 UI 我们的开发者文档详细列出了 所有可用的语义字段和 URL 因此请务必查看文档 并添加 App 支持的所有操作

    在结束之前 我想讨论升级版登机牌的 设备兼容性问题 我展示的所有新功能都支持 运行最新版本 iOS 和 watchOS 的设备 升级版登机牌的架构新增了若干属性 同时不会干扰现有的登机牌架构 有些乘客可能仍在他们的设备中 使用旧版操作系统 对于这些设备 “钱包”不会使用这些新增属性 因此采用升级版登机牌的最佳方式是 在现有登机牌中 同时添加语义字段和 URL 这样无论乘客使用 何种版本的操作系统 都能获得优质体验 到目前为止 我已经展示了 如何让活动门票 和登机牌在添加到“钱包”后 更具动态性 现在 我要介绍如何通过 全新的 PKPassLibrary API 无缝地将凭证添加到“钱包” 以往将凭证添加至“钱包” 始终需要用户手动操作 要将凭证添加到“钱包” 你的 App 可以呈现 AddPassesViewController 界面 显示凭证预览 并且需要额外轻点一次才能添加凭证 或者在 PKPassLibrary 上 调用 addPasses API 在将凭证添加到“钱包”之前 会显示一条提醒

    这些选项非常适合 不常向“钱包”添加凭证的用户 因为它能确保用户完全掌控 凭证添加的时机 但你的某些用户可能会定期 从你的 App 向“钱包”添加凭证 以频繁出差的旅客为例 他们每周可能要添加多张登机牌 逐张确认可能反而会降低使用效率 今年推出的新功能允许你 申请后台添加凭证功能 经用户授权后 你的 App 即可自动将凭证添加至“钱包”

    只需调用 addPasses API 票证便能在后台添加 无需其他提示 钱包仅会发送一条通知 告知用户 App 已添加凭证 采用这项新 API 只需添加少量代码 如果你曾申请过推送通知权限 对这个流程应该非常熟悉 这里我准备了一个 SwiftUI 视图 其中包含“AddPassToWallet”按钮 第一步是申请后台添加凭证权限 我将在按钮的完成处理程序中 执行这个操作 以便用户在添加下一张凭证后 收到提示

    由于这是异步调用 因此我将代码封装在 Task 中 并调用 PKPassLibrary 的 requestAuthorization (for: .backgroundAddPasses)

    当按钮的完成处理程序运行时 系统会提示用户 为我的 App 授予这个权限

    请注意这是一次性提示 用户做出选择后再次调用 不会重复提示 现在 让我们添加一些代码 来检查授权状态 并自动添加凭证

    当视图载入时 我可以通过 PKPassLibrary 的 authorizationStatus(for capability:) 方法检查授权状态 如果已获得授权 就直接调用 PKPassLibrary.addPasses 来添加凭证

    请注意 这个 API 接受凭证数组 因此可以一次性添加多张凭证 整个流程就是这样简单 仅用这几行代码 我的 App 现在就能自动添加票证了 让我们回顾一下新 API 的工作机制 通过全新的 requestAuthorization (for capability:) API 申请后台添加凭证权限 请注意授权只能请求一次 因此建议在 确信用户会接受时再调用这个 API

    重复调用时只会返回当前授权状态 用户授权后 “设置”App 中 将出现一个新的开关项 让用户可随时调整 App 的这项权限 你可以通过调用 authorizationStatus(for capability:) 检查当前授权状态 而不会触发提示 要使用后台添加凭证权限 在向“钱包”添加凭证时 调用 addPasses API 即可 这些就是“钱包”的新增功能 今年推出的新功能 让活动门票和登机牌变得 前所未有的动态化 并让你的 iOS App 与“钱包”无缝集成 请通过在登机牌和活动门票中 采用新属性 来充分利用这些新功能 相关文档提供了更详细的说明 建议你务必查阅 由于这些都是新功能 你需要确保继续支持 旧版操作系统 从而为顾客提供优质体验 无论他们使用何种系统版本 别忘了 我们还提供了出色的 API 让频繁使用“钱包”的用户 能便捷地添加凭证 请尽可能善用全新的 后台添加凭证功能

    感谢观看 祝你在 WWDC 大会收获满满

    • 0:00 - 简介
    • 今年“钱包”功能的更新包括:附带活动信息的增强型票证、整合航班详情的新设计的登机牌,以及支持 iOS App 自动添加凭证的 API。

    • 0:51 - 将临近活动添加到门票
    • 增强型海报活动票证现在支持“后续活动”功能。这项新功能让用户可通过单张票证访问多个活动。轻点某个后续活动会打开一个详情页面,该页面展示特定活动的视觉素材、场馆信息、完整活动指南和其他相关信息。后续活动页面采用了与 iOS 18 中相同的语义结构。 系统可以根据需要动态添加、更新或从凭证中移除后续活动,确保用户能够在自己的 iOS 和 watchOS 设备上获取所有活动的最新相关信息。

    • 7:08 - 升级登机牌设计
    • 钱包最新升级的登机牌采用动态可定制设计,与 Apple 航班服务无缝集成。这些登机牌可实时自动更新,无需因登机口变更或航班延误而手动刷新。全新“实时动态”功能持续提供航班动态信息,用户还能通过“信息”与亲友共享这些信息。登机牌还内置航班追踪、通过“地图”提供前往机场的路线以及使用“查找”跟踪行李。 新增专区提供航空服务与升舱选项,详细展示旅途全程可执行的操作。登机牌清晰呈现航班号、起降日期与时间、登机口编号及登机时间等关键信息,所有数据都会随航班动态自动调整。 钱包升级版登机牌运用语义化技术,可自动生成显示重要乘客信息的徽章,包括机票舱位等级、航司会员状态及特殊服务需求 (如导盲犬、机舱轮椅等)。标准 IATA 代码用于常见请求,航司也可为专属信息自定义标签。 钱包还会根据“pass.json”文件中提供的 URL,在服务与升舱界面动态生成管理机票、购买 Wi-Fi 或升舱选座等操作的按钮。可以通过添加相关语义数据增强上下文信息,如贵宾室位置。 这些新功能均支持最新版 iOS 和 watchOS 系统。航司应为现有登机牌添加语义化数据与 URL,从而为所有乘客提供优质体验,无论其设备运行何种版本的操作系统。

    • 16:18 - 自动添加凭证
    • 新的“PKPassLibrary”API 允许 App 为高频用户申请自动添加凭证至钱包的权限。这样就能简化流程,用户无需每次添加凭证都进行手动操作。App 只需获得用户一次性授权,系统便可在后台静默将凭证添加至钱包,并发送通知提醒用户。

Developer Footer

  • 视频
  • WWDC25
  • “钱包”的新功能
  • 打开菜单 关闭菜单
    • iOS
    • iPadOS
    • macOS
    • Apple tvOS
    • visionOS
    • watchOS
    打开菜单 关闭菜单
    • Swift
    • SwiftUI
    • Swift Playground
    • TestFlight
    • Xcode
    • Xcode Cloud
    • SF Symbols
    打开菜单 关闭菜单
    • 辅助功能
    • 配件
    • App 扩展
    • App Store
    • 音频与视频 (英文)
    • 增强现实
    • 设计
    • 分发
    • 教育
    • 字体 (英文)
    • 游戏
    • 健康与健身
    • App 内购买项目
    • 本地化
    • 地图与位置
    • 机器学习与 AI
    • 开源资源 (英文)
    • 安全性
    • Safari 浏览器与网页 (英文)
    打开菜单 关闭菜单
    • 完整文档 (英文)
    • 部分主题文档 (简体中文)
    • 教程
    • 下载 (英文)
    • 论坛 (英文)
    • 视频
    打开菜单 关闭菜单
    • 支持文档
    • 联系我们
    • 错误报告
    • 系统状态 (英文)
    打开菜单 关闭菜单
    • Apple 开发者
    • App Store Connect
    • 证书、标识符和描述文件 (英文)
    • 反馈助理
    打开菜单 关闭菜单
    • Apple Developer Program
    • Apple Developer Enterprise Program
    • App Store Small Business Program
    • MFi Program (英文)
    • News Partner Program (英文)
    • Video Partner Program (英文)
    • 安全赏金计划 (英文)
    • Security Research Device Program (英文)
    打开菜单 关闭菜单
    • 与 Apple 会面交流
    • Apple Developer Center
    • App Store 大奖 (英文)
    • Apple 设计大奖
    • Apple Developer Academies (英文)
    • WWDC
    获取 Apple Developer App。
    版权所有 © 2025 Apple Inc. 保留所有权利。
    使用条款 隐私政策 协议和准则