【问题标题】:pkpass won't open on iOS from e-mail attachmentpkpass 不会在 iOS 上从电子邮件附件打开
【发布时间】:2013-12-04 07:20:35
【问题描述】:

所有网站都提到 Passbook 通行证可以通过电子邮件发送。但是当 pass(由我们的服务器生成)附加到电子邮件时,iOS 电子邮件客户端不会打开它,而是写“(null)”。相同的 pass 在 Android 上运行良好,并且与我们的 Web 服务通信也没有问题。有任何想法吗? Google 搜索没有提供任何解决方案。

截图:

【问题讨论】:

  • Alex,这个问题是针对 ios6 还是 ios7 的?我遇到了类似的问题,但我还没有解决它。
  • 两者都适用,但我们只在 iOS 7 上尝试过。iOS 似乎对字段验证非常严格。例如,如果其中一个字段的值为空,它将不起作用。下面的“已解决”帖子对您有帮助吗?
  • Alex,我检查并重新创建了所有证书,并使用 Simon Waldherr 的方法 (github.com/SimonWaldherr/passkit.php) 彻底改革了我的方法。我现在确实可以在 iOS 7 上运行它。感谢您开始这篇文章。

标签: ios email passbook


【解决方案1】:

当 pass 无效时,您会得到该消息,很可能是由于它被错误地签名和/或 pass 证书已过期。

将您的通行证拖入 iPhone 模拟器并检查控制台应用以查找日志中的错误。

【讨论】:

  • 我在 Windows 上开发,无法访问模拟器。证书是今天生成的。
  • 听起来还是一个签名错误。您是否包括 WWDR 证书和签名日期?如果您可以将链接附加到您的 .pkpass 包,我们可以看看。
  • 我们从这里使用上层 WWDR 证书:apple.com/certificateauthority 这里是 pkpass 文件:mediafire.com/download/n8p1z764o1zdjdv/pass.pkpass
  • 这应该是真正的答案。
【解决方案2】:

已解决:存在多个问题:

  • 身份验证令牌的长度必须至少为 16 个字符
  • 我使用的是“Apple Inc. 根证书”(错误的)而不是“AppleWWDRCA”(正确的)
  • 对于生产,Web 服务需要使用 https

【讨论】:

  • 嗨,Alex,您能详细说明一下“身份验证令牌”问题吗?你是怎么设置的?我似乎有同样的问题。 stackoverflow.com/questions/21705439/…
  • pass.json 中“authenticationToken”字段的值必须至少为 16 个字符。因此,只需在您的 json 中添加以下内容:“authenticationToken”:“1234567890abcdef”
  • 您可以省略 "webServiceURL""authenticationToken" 字段。我相信它们是可选的,仅与“通行证更新”相关。
  • 我们使用它们是因为我们需要通过更新。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-07-01
  • 1970-01-01
  • 2020-09-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多