关于 apple-wallet-passes
apple-wallet-passes 是指导 Apple Wallet 通行证全生命周期的技能,面向设计和开发通行证的人员。它涵盖样式选择、PassKit 构建、签名、分发、更新及核验。
主要功能
- 01选择五种通行证样式
- 02规划版面与信息字段
- 03使用 PassKit 构建和签名
- 04通过应用、邮件或网页分发
- 05处理更新、兑换与身份核验
适用场景
- 01创建登机牌、优惠券或活动门票
- 02配置证书并分发 .pkpass 文件
- 03为通行证实现推送更新
- 04使用条码、NFC 或身份 API 核验
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ ios-agent/ iosagent.dev --skill apple-wallet-passes安装后在 Claude Code 中输入/apple-wallet-passes确认已加载。
附带文件references/passkit-technical.md
详细介绍
Apple Wallet 通行证
此技能可帮助你引导用户完成 Apple Wallet 通行证的整个生命周期:从选择合适的通行证样式,到设计和开发,再到签名、分发和更新。
适用场景
遇到以下任一场景时,请使用此技能:
- 创建新的 Wallet 通行证(登机牌、优惠券、活动门票、商店卡、通用通行证)
- 设计通行证布局并选择合适的通行证样式
- 设置 Apple 签发证书的通行证签名
- 通过应用、电子邮件或 Web 分发通行证
- 使用推送通知实现通行证更新
- 使用 NFC 读卡器或扫描条形码
- 添加“添加到 Apple Wallet”徽章
- 实现 Verify with Wallet API 或 ID Verifier
- 咨询 PassKit 框架或 WalletPasses 文档
通行证样式概览
Apple Wallet 支持五种通行证样式。选择正确的样式至关重要,因为它决定了视觉布局、信息层级,以及时间和位置相关性的运作方式。
| 样式 | 用途 | 示例 |
|---|---|---|
| 登机牌 | 旅行和交通 | 航班、火车、巴士通行证 |
| 优惠券 | 促销和折扣 | 商店优惠券、促销优惠 |
| 活动门票 | 有时间限制的活动 | 音乐会、电影、体育赛事门票 |
| 商店卡 | 忠诚度和奖励 | 忠诚度卡、礼品卡、会员卡 |
| 通用通行证 | 其他用途 | 会员卡、领取凭证、保险卡 |
样式会影响相关性(时间范围和位置半径)的解读方式。登机牌的相关性范围与电影票截然不同,因此务必根据实际用途选择样式。
开发工作流
按照以下步骤依次引导用户,并根据他们当前所处的阶段灵活调整:
1. 选择通行证样式
询问用户正在制作哪种通行证。根据其用途,帮助他们选择合适的样式。如果用途不明确(例如,健身房会员资格),请说明选择商店卡或通用通行证的利弊。
2. 设计通行证
- 通行证应清晰、经过优化,并在所有设备上呈现良好效果
- 指引用户参考人机界面指南,了解设计最佳实践
- 设计时的关键考量:徽标、条带图像、图标、相关文本字段、条形码位置
3. 使用 PassKit 构建通行证
- 使用 PassKit 框架创建、分发和更新通行证
- 通行证是经过签名的程序包(
.pkpass文件),其中包含pass.json清单和资源 - 如需了解 API 详情,请参阅 PassKit 文档
- 如需通过 Web 分发,请参阅 WalletPasses 文档
4. 为通行证签名
通行证必须使用 Apple 签发的证书签名,该证书须关联到开发者的 Apple Developer 账户。
需要说明的要点:
- 在证书、标识符与描述文件中管理证书
- 只有来自同一团队且具备相应权限的应用才能访问这些通行证
- 证书过期:设备上已有的通行证仍可使用,但无法签署新通行证,也无法发送更新
- 证书被撤销:通行证将停止工作——务必强调这一区别
5. 分发通行证
三种分发渠道:
- 应用内 — 使用 PassKit API 展示带有“添加到 Wallet”徽章的通行证
- 电子邮件 — 附上
.pkpass文件;收件人轻点即可添加 - Web — 托管通行证以供下载;使用“添加到 Wallet”徽章
重要细节:
- 用户无需安装关联应用即可添加通行证
- 如果存在关联应用,用户可以直接从通行证安装该应用
- iCloud 会在用户的所有设备间同步通行证
- 请遵循“添加到 Apple Wallet”徽章指南使用品牌标识
6. 更新通行证
有两种更新机制:
- 推送通知 — 服务端发送更新通知;用户轻点即可查看更改
- 下拉刷新 — 用户手动刷新通行证背面
常见更新场景:登机口变更、余额调整、日程变更。
7. 接收 / 核销通行证
有三种核销方式:
| 方式 | 详情 |
|---|---|
| NFC | 非接触式核销;用户将设备靠近读卡器即可。无需条形码。Apple Pay 忠诚度通行证请参阅忠诚度通行证文档。 |
| 条形码 | 支持 QR、Aztec、PDF417 格式。屏幕会锁定为纵向并提高背光亮度。对于 iPhone 屏幕,光学扫描器比激光扫描器效果更好。 |
| 文本备用方式 | 在条形码下方显示会员号 / 账户号码,供手动输入。 |
8. 身份验证(可选)
有两个身份验证 API:
- 使用 Wallet API 验证 — 使用 Wallet 中存储的 ID 进行年龄或身份验证。了解更多
- ID Verifier — 将 iPhone 用作移动 ID 读取器,进行现场验证,无需外部硬件。了解更多
常见问题
用户提出以下问题时,可以这样回答:
“如果我的证书过期了会怎样?” → 设备上已有的通行证仍可使用。你只是无法签署新通行证或推送更新。
“我应该使用哪种条形码格式?” → QR 的通用性最高。Aztec 格式紧凑,常用于航空公司。PDF417 用于某些旧系统。请使用实际扫描硬件进行测试。
“用户可以不通过我的应用添加通行证吗?” → 可以。无需安装任何应用,用户也可以通过电子邮件或网页添加通行证。
“如何测试通行证扫描?” → 务必使用实际要采用的硬件进行测试。与激光扫描器相比,光学扫描器对 iPhone 屏幕的识读效果好得多。
参考
如需深入了解技术细节,请阅读 references/passkit-technical.md,其中介绍了 pass.json
结构、服务端更新流程和代码示例。