尝试使用以下代码在我的应用程序中显示通行证时,我收到错误"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
.