SuperAPI AI 工具集

apple-wallet-passes

编程与开发

查看项目

更新于 10-16 09:02

技能介绍

Apple Wallet Passes 技能帮助用户完成 Apple Wallet 通行证的完整生命周期:从选择正确的通行证样式,到设计、开发、签名、分发和更新。

适用场景

以下情况可触发该技能:

  • 创建新的 Wallet 通行证(登机牌、优惠券、活动门票、商店卡、通用通行证)
  • 设计通行证布局并选择正确的通行证样式
  • 使用 Apple 签发的证书配置通行证签名
  • 通过应用、电子邮件或网页分发通行证
  • 通过推送通知实现通行证更新
  • 对接 NFC 读取器或条码扫描
  • 添加“Add to Apple Wallet”徽章
  • 实现 Verify with Wallet API 或 ID Verifier
  • 关于 PassKit 框架或 WalletPasses 文档的问题

通行证样式概览

Apple Wallet 支持五种通行证样式。选择正确的样式至关重要,因为它决定视觉布局、信息层级以及时间/地点相关性的工作方式。

  • Boarding Pass:旅行与交通,例如航班、火车、巴士通行证
  • Coupon:促销与折扣,例如商店优惠券、促销优惠
  • Event Ticket:有时间限制的活动,例如演唱会、电影、体育赛事门票
  • Store Card:忠诚度与奖励,例如会员卡、礼品卡、会员资格
  • Generic Pass:其他所有情况,例如会员卡、取件凭证、保险卡

样式会影响相关性(时间窗口和地点半径)的解释方式。登机牌的相关性窗口与电影票非常不同——始终将样式与实际使用场景匹配。

开发工作流程

按顺序引导用户完成以下步骤,并根据其当前进度进行调整:

  1. 选择通行证样式

询问用户正在构建哪种通行证,帮助其根据使用场景选择正确样式。如果存在歧义(例如健身房会员),解释 Store Card 与 Generic Pass 之间的权衡。

  1. 设计通行证

通行证应清晰、优化,并在所有设备上呈现良好效果。建议用户参考 Human Interface Guidelines 获取设计最佳实践。关键设计考虑因素:logo、条带图像、图标、相关文本字段、条码位置。

  1. 使用 PassKit 构建通行证

使用 PassKit 框架创建、分发和更新通行证。通行证是已签名的包(.pkpass 文件),包含 pass.json 清单和资源文件。API 细节可参考 PassKit 文档。如需网页分发,请参阅 WalletPasses 文档。

  1. 签名通行证

通行证必须使用与开发者 Apple Developer 账户关联的 Apple 签发证书进行签名。关键要点:

  • 证书在 Certificates, Identifiers & Profiles 中管理
  • 只有同一团队且具有相应权限的应用才能访问这些通行证
  • 证书过期:设备上现有通行证仍可使用,但无法签署新通行证,也无法发送更新
  • 证书吊销:通行证停止工作——这是需要重点说明的关键区别
  1. 分发通行证

三种分发渠道:

  • 应用内——使用 PassKit API 展示通行证并配合“Add to Wallet”徽章
  • 电子邮件——附上 .pkpass 文件;收件人点击添加
  • 网页——托管通行证以供下载;使用“Add to Wallet”徽章

重要细节:

  • 用户无需安装相关应用即可添加通行证
  • 如果有相关应用,用户可直接从通行证安装
  • iCloud 会在用户所有设备之间同步通行证
  • 遵循 Add to Apple Wallet 徽章指南进行品牌展示
  1. 更新通行证

两种更新机制:

  • 推送通知——服务器发送更新通知;用户点击查看更改
  • 下拉刷新——用户在通行证背面手动刷新

常见更新场景:登机口变更、余额调整、日程变更。

  1. 接受/核销通行证

三种核销方式:

  • NFC:非接触式核销;用户将设备靠近读取器。无需条码。Apple Pay 忠诚度场景请参阅 loyalty passes 文档。
  • 条码:支持 QR、Aztec、PDF417 格式。屏幕锁定为竖屏并提高背光。对于 iPhone 屏幕,光学扫描器比激光扫描器效果更好。
  • 文本备用:会员/账户号码显示在条码下方,供手动输入。
  1. 身份验证(可选)

两种身份验证 API:

  • Verify with Wallet API——使用 Wallet 中存储的 ID 进行年龄或身份验证
  • ID Verifier——将 iPhone 用作移动 ID 读取器进行现场验证,无需外部硬件

常见问题

  • “证书过期会怎样?”→ 设备上现有通行证继续工作。只是无法签署新通行证或推送更新。
  • “应使用哪种条码格式?”→ QR 最通用。Aztec 紧凑,被航空公司使用。PDF417 用于一些旧系统。请用实际扫描硬件测试。
  • “用户可以在没有我的应用的情况下添加通行证吗?”→ 可以。通行证可通过电子邮件或网页添加,无需安装任何应用。
  • “如何测试通行证扫描?”→ 始终使用实际要用的硬件测试。对于 iPhone 屏幕,光学扫描器比激光扫描器好得多。

参考

如需更深入的技术细节,请阅读 references/passkit-technical.md,其中涵盖 pass.json 结构、服务器端更新流程和代码示例。