一个链接
<a href="addpkpass://yourdomain.com/passes/ticket-123.pkpass">:WebViewGold 会把它还原为 https:// URL,并在应用内浏览器标签页中打开;该标签页能识别卡券,并显示原生的“添加到 Apple 钱包”预览。
Claude Code + Apple Wallet
如果您的 Claude Code 应用销售活动门票、运营会员计划或发放优惠券,这些卡券就应该放进 Apple Wallet(Apple 钱包),在需要的时候出现在锁定屏幕上。WebViewGold 补上了缺失的一环:把 .pkpass URL 中的 https:// 换成 addpkpass://,iOS 就会显示原生的“添加到 Apple 钱包”面板。卡券仍需您自己创建并签名;在 Android 上,Google Wallet 则通过它自己的网页保存链接来实现。
每个平台一次性 $109 起,或由我们的团队全程代劳,$698 起。
<a href="addpkpass://yourdomain.com/passes/ticket-123.pkpass">:WebViewGold 会把它还原为 https:// URL,并在应用内浏览器标签页中打开;该标签页能识别卡券,并显示原生的“添加到 Apple 钱包”预览。
.pkpass 文件是一个经过签名的文件包(pass.json、图片、清单文件和签名),用您 Apple Developer 账号中自己的 Pass Type ID 证书制作。您可以在自己的服务器上生成,也可以使用卡券服务;WebViewGold 负责把它交给 Wallet。
HTTPS、MIME 类型 application/vnd.apple.pkpass,以及有效的签名。三者中任何一项出错,iOS 都无法显示预览,用户只会看到一条错误信息。
自 2024 年起,Google Wallet 可以导入许多 .pkpass 文件,但支持情况因设备和卡券而异,而且 addpkpass:// scheme 仅适用于 iOS。Android 上可靠的做法是用 Google Wallet API 创建 Google Wallet 卡券,并使用官方的“添加到 Google 钱包”按钮,它链接到 pay.google.com 上一个由您服务器签名的保存 URL。
把这段粘贴到 Claude Code 中以实现 Web 应用端。检查结果,发布,然后在 WebViewGold 应用中测试。
给 Claude Code 的提示词:阅读 https://www.webviewgold.com/llms-full.txt 中的 Apple Wallet Pass 一节,然后为我们的会员卡添加 Wallet 卡券。1) 创建一个服务端模块,构建一张 storeCard 卡券(会员姓名、积分、包含会员 ID 的二维码,以及按要求尺寸准备的我们的 logo、icon 和 strip 图片),并用从环境变量加载的证书签名。2) 添加一个脚本,把测试卡券写入 ./tmp/test.pkpass,方便我用隔空投送发到 iPhone 上。3) 添加一个需要身份验证的端点,返回短期下载 URL,再添加一个下载路由,以 Content-Type application/vnd.apple.pkpass 提供卡券。4) 在界面中显示 Apple 的“添加到 Apple 钱包”徽标;在 iOS 应用内(自定义 WebViewGold User-Agent 以及 iPhone 或 iPad)使用把 https:// 替换为 addpkpass:// 的 URL,在 Safari 中使用 https URL,在 Android 上使用全屏二维码视图。5) 添加 webServiceURL 和 authenticationToken,并实现 Apple 的卡券 Web 服务路由(注册、注销、列出已更新的序列号、获取最新卡券),以便推送积分变化。6) 把证书文件加入 .gitignore,并在 CLAUDE.md 中记录该流程。

我的iOS WebView应用终于通过审核了。谢谢!!
Apple Wallet 有五种卡券样式:活动门票、商店卡、优惠券、登机牌和通用卡券。最常用到的是:
工作坊、线下聚会、音乐会、课程。一个包含门票 ID 的二维码、日期和地点,再设置一个相关日期,让卡券在活动开始前出现在锁定屏幕上。
咖啡馆、美发店、健身房。一张以条形码显示会员编号、带积分余额的商店卡,之后还可以更新。
在柜台扫码或在结账时出示的折扣码,带有用户看得到的到期日期。
俱乐部会员、联合办公空间门禁、VIP 或季票:身份识别正是 Apple 明确列出的用途之一。
第一种卡券类型大约需要一天;最耗时的是证书。
在 Apple Developer 账号的“证书、标识符和描述文件”(Certificates, Identifiers & Profiles)中注册一个 Pass Type ID(例如 pass.com.yourcompany.tickets),创建对应的证书,并下载 Apple 的 WWDR 中间证书。两者都放在您的服务器上,绝不放进客户端。
在 您自己的 API 路由、无服务器函数或 Supabase 中用一个服务器函数构建 pass.json(序列号、包含门票代码的条形码、相关日期或地点)并签名,例如在 Node 上使用 passkit-generator,或者通过托管的卡券 API。把序列号和订单一起保存。
应用内浏览器标签页可能不与 WebView 共享登录 Cookie,所以请给卡券 URL 加上一个签名的短期令牌,而不是依赖登录会话。
使用 Apple 官方的“添加到 Apple 钱包”徽标。在 iOS 应用内用 addpkpass:// 链接到卡券;在 Safari 中,普通的 https 链接原生即可使用;在 Android 上则显示 Google Wallet 按钮或 PDF 门票。
在 pass.json 中添加 webServiceURL 和 authenticationToken,并实现 Apple 的卡券 Web 服务;当检票口、座位或积分余额发生变化时,通过 APNs 通知设备,Wallet 就会下载新版本。
添加一张卡券,从锁定屏幕打开它,再试试过期的令牌和已作废的门票。确认条形码能被您在入口处实际使用的扫码设备识别。
您的服务器返回两个 URL,由页面选择合适的那个。YourAppToken 是 Config.swift / Config.java 中的自定义 User-Agent。
var ua = navigator.userAgent;
var inApp = ua.indexOf("YourAppToken") !== -1;
var isIOS = /iPhone|iPad|iPod/.test(ua);
var isAndroid = /Android/.test(ua);
// pass = {
// pkpassUrl: "https://yourdomain.com/passes/T-1042.pkpass?t=SIGNED_TOKEN",
// googleSaveUrl: "https://pay.google.com/gp/v/save/SIGNED_JWT", // 由您的服务器生成
// pdfUrl: "https://yourdomain.com/tickets/T-1042.pdf"
// }
function walletLink(pass) {
if (isIOS && inApp) return pass.pkpassUrl.replace(/^https:\/\//, "addpkpass://");
if (isIOS) return pass.pkpassUrl; // Safari 原生支持打开 .pkpass
if (isAndroid && pass.googleSaveUrl) return pass.googleSaveUrl;
return pass.pdfUrl; // 桌面端和兜底方案
}
document.getElementById("add-to-wallet").href = walletLink(window.currentPass);WebViewGold 没有专门的 Google Wallet API,而且 addpkpass:// scheme 仅适用于 iOS。走网页路线效果很好:
BROWSER_BLACKLIST 中,或者给链接加上 newtab: 前缀,并把 SPECIAL_LINK_HANDLING_OPTIONS 设为 2(URL 处理文档)。不会。WebViewGold 负责把卡券交给 Apple Wallet。.pkpass 文件的创建和签名在您的服务器或卡券服务中完成,使用的是您通过 Apple Developer Program 获得的 Pass Type ID 证书。
Apple Wallet 只存在于 Apple 设备上。在较新的 Android 手机上,Google Wallet 能导入许多 .pkpass 文件,但支持情况不一,所以可靠的做法是通过 Google Wallet API 创建 Google Wallet 卡券,并在 WebView 之外、用户已登录 Google 的地方打开它的保存链接(Config.java 中的 BROWSER_BLACKLIST)。WebViewGold 没有专门的 Google Wallet API。
可以,借助 Apple 的卡券 Web 服务:在 pass.json 中加入 webServiceURL 和 authenticationToken,Wallet 就会向您的服务器注册该设备。当检票口、座位或余额变化时,您通过 APNs 发送推送,Wallet 就会获取新版本。
这个标签页能识别 .pkpass 内容类型,并显示原生的“添加到 Apple 钱包”预览。它可能不与主 WebView 共享 Cookie,因此卡券 URL 必须在没有应用登录会话的情况下也能使用,例如带上一个签名且会过期的令牌。
可以。iPhone 和 Mac 上的 Safari 原生支持打开 .pkpass 链接,所以同一个 https URL 在网页上也能用;只有应用内才使用 addpkpass:// 前缀。
结果相同,只是您需要投入的工作量不同。三种方式都附带审核通过保证和 7×24 小时人工支持。
$109 每个平台,一次性付费
WebViewGold 许可证:一个现成的 Xcode 或 Android Studio 项目。粘贴您的 URL,设置名称和图标,开启所需功能,构建并提交。永久免费更新。
在主页查看方案$349 每个许可证,一次性附加购买
无需 Mac、Xcode 或 Android Studio:在浏览器中完成配置,我们在云端构建两个应用,并将其交付到 App Store Connect 和 Play Console。
Cloud Builder 如何运作 试用免费演示$698 每个平台 $798
把您的 URL 和图标发给我们。我们的团队在 72 小时内完成配置、构建并交付您的应用,白标,附源码项目。两个平台共 $1,158。
Full Service 详情 服务提供方:冬季特惠价格有效期至 2026年12月31日。
App Store & Google Play 审核通过保证 – 否则 14 天内退款
想直接交给我们?Full Service:我们在 72 小时内完成配置、构建并交付,每个平台 $698 起。有疑问?通过 7×24 小时在线聊天联系我们。
退款依据我们 FAQ 中列出的条件:应用因非内容原因被 Apple 和/或 Google 拒审,并在购买后 14 天内提出申请。