【问题标题】:Including a Passbook pkpass usefully for Safari on Mountain Lion包括对 Mountain Lion 上的 Safari 有用的 Passbook pkpass
【发布时间】:2012-09-26 12:35:29
【问题描述】:

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

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

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

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

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

【问题讨论】:

标签: ios safari osx-mountain-lion passbook


【解决方案1】:

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

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

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

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

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

【讨论】:

  • 我喜欢这个 Tom 并提交了增强雷达。如果您也能像阅读本文的其他人一样提交一份@gid 文件,我们将不胜感激。
  • 确实是唯一的选择。我很惊讶苹果没有在他们的标题中包含那个 MIME 类型。也许 iOS 6.1 或 6.2 可能包含这个。我会升起增强雷达。
  • 6.1 beta 4 和 Safari 6.0.2 (8536.26.17) 到目前为止还没有骰子 ;-( 都接受 text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
  • 我认为用户代理推断对于 OS X Lion 和 iPhone 来说是可以的,但在 Android 上会失败。
  • 不幸的是,用户代理在 OSX 上失败了,因为仍然有很大比例的人没有配置 iCloud。
【解决方案2】:

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

【讨论】:

  • 这个问题不是关于如何提供通行证 - 它涉及如何在提供 .pkpass 包之前预先确定用户的浏览器是否能够处理通行证。
  • 只是出于好奇:您如何确定是否提供传球或图像(如此处所述:news.passkit.com/tag/passbook-for-android)。不能为此使用相同的信息吗?
  • 我们目前使用浏览器嗅探来执行此操作,虽然不理想,但效果相当不错。问题出在 Apple 浏览器上,除非配置了 iCloud,否则 Safari 会在显示预览后放弃通行证。最好事先知道,不要将通行证发送到任何无法将通行证添加到用户存折的浏览器。
猜你喜欢
  • 2012-04-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-04
  • 2012-09-03
  • 1970-01-01
相关资源
最近更新 更多