BOM 无法提取存档。使用使用 passkit 生成的传递 URL 初始化 PKpass 时出现异常



尝试使用以下代码在我的应用程序中显示通行证时,我收到错误"BOM 无法提取存档。PKpass 签名不断缺少异常"。请帮助我摆脱这个异常。

NSURL *url = [NSURL URLWithString:urlString];
NSData *passData = [NSData dataWithContentsOfUrl: url];
PKPass *pass = [[PKPass alloc] initWithData:passData error:&err];

我正在使用 Xcode 5.2 进行开发和 mashape 来生成通行证。

假设您的问题与Mashape上的PassKit API有关,则需要将.pkpass附加到从问题请求返回的URL的末尾。

原始 URL 提供上下文响应,具体取决于是否从支持 Passbook 的浏览器调用(尝试在 Android 设备上通过 Firefox 访问 URL)。

在您的情况下,[NSData dataWithContentsOfUrl: url];收到一个 HTML 响应,导致 PKPass 抱怨它无法提取存档,随后找不到签名。

.pkpass附加到 URL 会强制 API 提供原始 .pkpass 捆绑包。

因此,如果您的回答是:

{
  "success"        : true,
  "serial"         : "7114189133818574",
  "url"            : "https://r.pass.is/b93NuXKuX1Tj",
  "passbookSerial" : "1fBHoUz9zOOk0yGs47wDC",
  "shareID"        : "2HcFlmRLblKdQZsa4W9zkc",
  "uniqueID"       : "b93NuXKuX1Tj"
}

urlString应该是https://r.pass.is/b93NuXKuX1Tj.pkpass.

相关内容

  • 没有找到相关文章