显然Mountain Lion 10.8.2 Safari“支持”Passbook通行证,它将预览并提供将“.pkpass”文件同步到iCloud,以便用户配置的iPhone加载到Passbook。
但是,除了明确下载此类文件的用户之外,我还没有找到任何关于如何让浏览器加载此类文件的文档。
理想情况下,会有<link rel="alternate" type="application/vnd.apple.pkpass">
或类似的标记,因此支持(并且配置适当的)浏览器可以提取并提供它。我找不到这样的功能。
除此之外,用户需要被定向到“点击这里”下载pkpass,并希望他们知道它是什么以及如何处理它。否则,它在Download文件夹中是一个不透明的blob。
显然我不想明确地嗅探iOS 6或OS X 10.8.2及更高版本的User-agent,因为这也不会检查用户是否配置了iCloud,并且还排除了对PassWallet和类似的支持适用于Android等的应用以及其他支持的浏览器。
答案 0 :(得分:2)
显而易见的解决方案是为vnd.apple.pkpass内容类型添加Accept标头。这正是这个标题的意图。
不幸的是,这并不在个别开发者手中。
Microsoft为.Net Framework执行此操作,他们将信息作为User-Agent的一部分发送。这使您可以检测.Net Framework是否安装在访问者的计算机上。
OS X Lion应该在发出的所有浏览器请求中包含此标头,iOS设备也应该发送它。
目前,您最好的选择是您已经概述的选项。如果UserAgent适用于iOS或OS X Lion,则可以推断支持。它并不理想,但是你目前能做的最好。
答案 1 :(得分:-1)
您的服务器需要使用pkpass文件发送“Content-type:application / vnd.apple.pkpass”标头。