我通过PKAddPassesViewController
将PKPass添加到库中。
该传递在存折应用程序中可见。
调用以下代码:
NSData *data = [NSData dataWithContentsOfFile:filePath];
NSError *error;
//init a pass object with the data
PKPass *pass = [[PKPass alloc] initWithData:data error:&error];
if([self.passbookLibrary containsPass:pass]) {
passbookLibrary不是零。
containsPass在iOS7上返回YES
containsPass在iOS6上返回NO
答案 0 :(得分:0)
PKPass有两种类型。 PKLocalPass和PKRemotePass。上面创建的PKPass将是PKLocalPass。该检查仅适用于PKRemotePass。您可以使用此功能获取它:
- (PKPass *)passFromLibraryFromPKPass:(PKPass *)pass {
if (SYSTEM_VERSION_LESS_THAN(@"7.0")) {
PKPass *libraryPass = [self.passbookLibrary passWithPassTypeIdentifier:pass.passTypeIdentifier serialNumber:pass.serialNumber];
return libraryPass;
} else {
return pass;
}
}
此外,配置文件必须启用Passbook。我创建了一个新的配置文件,其中App ID包含传递类型标识符。
在这种情况下,iOS 7非常好用。它只是有效。