8

显然,Mountain Lion 10.8.2 Safari“支持”存折通行证,因为它将预览并提供将“.pkpass”文件同步到 iCloud,以便用户配置的 iPhone 加载到存折中。

但是,除了用户明确下载此类文件外,我还没有找到任何有关如何让浏览器加载此类文件的文档。

理想情况下,会有一个<link rel="alternate" type="application/vnd.apple.pkpass">或类似的标签,以便支持(并适当配置)的浏览器可以选择并提供它。我找不到任何提及此类功能的内容。

除此之外,用户需要被引导到“单击此处”以下载 pkpass,并希望他们知道它是什么以及如何处理它。否则,它在他们的下载文件夹中是一个不透明的 blob。

显然,我不想明确嗅探 iOS 6 或 OS X 10.8.2 及更高版本的用户代理,因为这也不会检查用户是否配置了 iCloud,并且还排除了对 PassWallet 和 Android 类似应用程序的支持等等,以及其他支持的浏览器。

4

2 回答 2

2

显而易见的解决方案是为 vnd.apple.pkpass 内容类型包含一个 Accept 标头。这正是这个标题的意图。

不幸的是,这不在个人开发人员手中。

Microsoft 为 .Net Framework 执行此操作,他们在其中将信息作为用户代理的一部分发送。这使您可以检测访问者的计算机上是否安装了 .Net Framework。

OS X Lion 应在发出的所有浏览器请求中包含此标头,iOS 设备也应发送它。

目前,您将拥有的最佳选择是您概述的那个。如果 UserAgent 用于 iOS 或 OS X Lion,您可以推断支持。这并不理想,但您目前可以做到的最好。

于 2013-01-14T10:40:21.950 回答
-1

您的服务器需要发送带有 pkpass 文件的“Content-type: application/vnd.apple.pkpass”标头。

于 2013-01-11T00:20:52.597 回答