在 Chrome for iOS 中下载 Apple Pass 时出错



使用 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 这样的随机数呢?

最新更新