I am building an application related to the Passbook app. Basically I am generating a boarding pass for a flight ticket and adding it to Passbook. That part is working fine.
I had the same problem, it worked well with the emulator but crashed on the device. 1 - Double check the Entitlements 2 - I used this when the _pass is already in the library:
if([_passLibrary containsPass:_pass])
{
[[UIApplication sharedApplication] openURL:[[_passLibrary passWithPassTypeIdentifier:[_pass passTypeIdentifier] serialNumber:[_pass serialNumber]] passURL]];
}
Use the same context to delete the pass too:
[_passLibrary removePass: [_passLibrary passWithPassTypeIdentifier:[_pass passTypeIdentifier] serialNumber:[_pass serialNumber]]];
I hope it helps.