Wallet
钱包导出的工作方式,从连接到排查问题。
连接
在 Exporter 主页上点钱包旁边的“连接”,然后点“打开 Passes 文件夹”。面板会在 macOS 存放卡片的文件夹 ~/Library/Passes 打开:点“选择此文件夹”。然后选择文件存放位置,点“使用这个文件夹”。
要选 Passes 文件夹本身,而不是里面的 Cards。Exporter 从 Cards 读取卡片,旁边的 passes23.sqlite 只为一件事:卡片签发的那天,也是很多旧卡片唯一有的日期。
文件存放在哪里
每张卡片一个 Markdown 文件,全部放在一个文件夹里,按日期和卡片种类命名:2026-09-17 united airlines SFO-EWR.md、2026-09-11 the sf database meetup.md。完全没有日期的卡片就用它自己的名字(apple store.md)。直接位于个人文件夹下的文件夹,比如 ~/Documents,里面会生成一个 wallet-export 文件夹;更深的一层,比如 ~/Documents/wallet,则按原样使用。
会导出什么
卡片上勾选的每一张:登机牌、火车票和长途汽车票、活动门票、商店卡、优惠券和通用卡片。药丸按钮只是筛选列表:卡片(全部)、航班(含火车和长途汽车)、活动、商店卡。
两张会得到相同文件名的卡片,各自会加上一段来自 id 的短后缀,所以谁也不会覆盖谁。取消勾选会在下次同步时删掉它的文件,重新勾选又会回来。
格式
始终是 Markdown:卡片的 front matter,一个标题和一行说明地点与时间,接着是卡片上原样的字段,卡片背面放在 Back 标题下,最后是条形码的号码。
文件内容
| 键 | 内容 |
|---|---|
title, id |
卡片叫什么,以及钱包给它的 id |
kind |
flight、transit、event、card 或 other |
date, date_source |
卡片对应的时间,以及它来自签发方的日期、有效期,还是签发当天 |
organization, pass_type |
签发方及其卡片类型标识 |
expires, voided |
何时到期,以及钱包是否已把它标记为已使用 |
coordinates |
场馆坐标,如果卡片带有的话 |
Details 一节收录卡片本身没有显示的 Apple 结构化字段:航站楼、到达登机口、时区、票价舱等。Where 一节给出场馆名字。内容为二进制的条形码会直说,而不是把控制字符写进文件。
---
title: "United Airlines SFO-EWR"
kind: flight
date: 2026-09-17T18:20:00
date_source: relevant
organization: "United Airlines"
---
# United Airlines SFO-EWR
San Francisco (SFO) → Newark (EWR) · 17 Sep 2026
- FLIGHT: UA 274
- GATE: F19
- SEAT: 34D
## Back
- CONFIRMATION: GGCLMQ
日期,以及没有日期的卡片
卡片按它自己的那天归档,用签发方写下的时区:23:25 从丹佛起飞的航班,是丹佛的那一天,而不是你阅读所在地的第二天。较早的活动门票常常完全没有日期,这些按签发当天归档,文件里用 date_source: signed 标明。
其他语言的卡片
卡片可以把文字放在包内的 pass.strings 文件里,卡片本身只留下键名。Exporter 会按你 Mac 的语言解析,于是门票显示的是活动名称,而不是 EVENT_NAME。
免费与解锁
最近的 20 张卡片免费,并且一直免费。解锁钱包会导出其余的(价格)。
同步与完整重新同步
第一次“立即同步”之后,只有当某张卡片变化时,Exporter 才会重写它的文件,最多每分钟一次。登机口、座位和登机时间会在出行当天变化,而每次变化只会重写那张卡片的文件。
“完整重新同步”会先询问,然后删除 Exporter 写过的卡片文件,再把每张勾选的卡片重新写一遍。文件夹里的其他内容都会保留。
问题与排错
- “这个文件夹里没有卡片(请选择资源库中的 Passes 文件夹)”:再点一次“连接”,然后选择面板打开时所在的文件夹
- 少了一张卡片:它在卡片上被取消勾选,或者免费的 20 张已用完。解锁钱包后点“立即同步”
- 某张卡片的文件名里没有日期:它本身没有日期,而钱包的数据库又没能读取。请连接
~/Library/Passes本身,而不是Cards - 没有卡号:卡号根本不在 Mac 上。钱包把支付卡放在 Secure Element 里,Exporter 永远看不到