我将如何在我的网络服务器上生成 Pass,然后在 Xcode 中下载它。在 xcode 上,我正在尝试生成通行证,然后将其添加到我的存折钱包中。代码:
NSString* passFile = @"http://pass.keatonburleson.com/gen.php?name=128keaton";
//3
NSData *passData = [NSData dataWithContentsOfFile:passFile];
//4
NSError* error = nil;
PKPass *newPass = [[PKPass alloc] initWithData:passData
error:&error];
//5
if (error!=nil) {
[[[UIAlertView alloc] initWithTitle:@"Passes error"
message:[error
localizedDescription]
delegate:nil
cancelButtonTitle:@"Ooops"
otherButtonTitles: nil] show];
return;
}
//6
PKAddPassesViewController *addController =
[[PKAddPassesViewController alloc] initWithPass:newPass];
[self presentViewController:addController
animated:YES
completion:nil];
所以基本上,我的错误是“跟踪”并崩溃。更新:感谢 Caleb,不再出现跟踪错误!不幸的是,我收到“通过无效错误!” :( 最新和更新的代码:
NSString* passFile = @"http://pass.keatonburleson.com/gen.php?name=128keaton";
NSURL *url = [NSURL URLWithString:passFile];
//3
NSData *passData = [NSData dataWithContentsOfURL:url];
//4
NSError* error = nil;
PKPass *newPass = [[PKPass alloc] initWithData:passData
error:&error];
BG信息:
我的网络服务器包含一个 PHP 脚本,它生成一个 passkit 通行证并像 PkPass 一样显示它以供下载。如果您使用的是 Mac 或 iPhone,您可以转到 passFile URL,它将显示有效的通行证。我认为我的问题是它在真正生成链接文件时尝试下载链接文件并自动下载它。我可能需要编辑一些服务器代码以不破坏我的网络服务器上的“已保存”pkpass。但是,我宁愿不这样做。