Replace PKPass文件在同一应用程序中的文件的存折上被替换
我的应用程序处理下载优惠券和保存到存折。但每次我下载不同的优惠券时,存折上的文件都会被替换 下面是我将优惠券添加到存折的代码: 步骤1:将“PassKit”框架添加到项目中并导入相同的框架 步骤2:在我的h文件中添加“pkaddPasseViewControllerDelegate” 步骤3:Replace PKPass文件在同一应用程序中的文件的存折上被替换,replace,passbook,Replace,Passbook,我的应用程序处理下载优惠券和保存到存折。但每次我下载不同的优惠券时,存折上的文件都会被替换 下面是我将优惠券添加到存折的代码: 步骤1:将“PassKit”框架添加到项目中并导入相同的框架 步骤2:在我的h文件中添加“pkaddPasseViewControllerDelegate” 步骤3: - (void) generatePass { if (![PKPassLibrary isPassLibraryAvailable]) { [[[UIAlertView alloc] init
- (void) generatePass {
if (![PKPassLibrary isPassLibraryAvailable]) {
[[[UIAlertView alloc] initWithTitle:@"Error"
message:@"PassKit not available"
delegate:nil
cancelButtonTitle:@"Pitty"
otherButtonTitles: nil] show];
return;
}
else {
NSData *passData = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://(url).pkpass"]];
NSError* error = nil;
PKPass *newPass = [[PKPass alloc] initWithData:passData
error:&error];
if (error!=nil) {
[[[UIAlertView alloc] initWithTitle:@"Passes error"
message:[error
localizedDescription]
delegate:nil
cancelButtonTitle:@"Ooops"
otherButtonTitles: nil] show];
return;
}
PKAddPassesViewController *addController =
[[PKAddPassesViewController alloc] initWithPass:newPass];
addController.delegate = self;
[self presentViewController:addController
animated:YES
completion:nil];
}
}
存折索引通过
serialNumber
和passTypeIdentifier
传递。添加过程时,如果用户的过程库中已存在具有匹配的serialNumber
和passTypeIdentifier
的过程,则添加的过程将覆盖该过程
要为同一个
passTypeIdentifer
添加多个通行证,您必须为每个新通行证生成唯一的serialNumber
。他们有不同的序列号吗?