使用 Chrome 和 Firefox 在 iPhone 设备上下载 Apple Pass 时出现问题。它在Safari上工作正常。在 Chrome for iOS 上,它说:
Sorry, your Pass cannot be installed to Passbook at this time
.
对于火狐,它说:
Failed to Add Pass An error occurred while adding the pass to Wallet. Please try again later.
我尝试只是从桌面浏览器下载 Apple Pass,它会下载,我可以在 iPhone/模拟器上很好地安装它,我认为这不是通行证本身的问题,而是我在响应中缺少的东西。
这是我用来返回Apple Pass的代码。
private void ReturnResponse(byte[] applePass)
{
Response.Clear();
Response.AddHeader("content-disposition", string.Formate("attachment; filename={0}", "sample.pkpass"));
Response.ContentType = "application/vnd.apple.pkpass"
Response.BinaryWrite(applePass);
Response.End();
}
预期成果:
Apple Pass 會打開,並允許使用者將其添加到他們的 Apple Wallet。
我意识到这个问题已经有一年半了,但截至 2021 年 3 月,这仍然是一个问题。经过大量的试验和错误,我们设法让它在Chrome和Firefox上运行。我们的具体问题是请求必须是 GET,并且在下载 Pass 之前我们有一个作为 POST 提交的表单。一旦我们更改表单以提交 GET,问题就解决了。
我们试图保留 POST 并返回 201,这感觉是正确的,但问题仍然存在。
在提供 pkpass 时,将我们的请求方法从 POST 更改为 GET 使得在 iOS 设备上使用 Google Chrome for Mobile 下载通行证成为可能。
未经测试的,但我发现了这个链接,我觉得可能与此相关:
https://github.com/eymengunay/php-passbook/issues/73
它说你用来链接到通行证的定位点应该包含此属性:
目标="_system">
我自己没有测试过这个决议。
我刚刚从一个网站上购买了 20 张访问通行证。该网站可以选择"添加到苹果钱包"。它对其中 19 个工作正常,然后在最后一个我得到了同样的错误。
尝试添加第 20 个时,我没有做任何不同的事情。
想知道您可以添加的通行证数量是否有限制?...但是为什么它被限制为像 19 这样的随机数呢?