我正在开发一款应用程序,允许用户通过应用程序在电子钱包中添加支付通行证。为此,您必须要求Apple添加以下权利
我也在我的应用程序中使用“com.apple.developer.payment-pass-provisioning”这些权利Apple为我的团队ID授予了此权利,修改了我的配置文件并启用了此权利。
尝试使用以下代码
从我的应用程序调用电子钱包应用中的添加卡片屏幕PKAddPaymentPassRequestConfiguration *request;
request.cardholderName = @"xxxxxxxx";
request.primaryAccountSuffix = @"xxxx";
request.localizedDescription = @"This will add the card to Apple Pay";
request.primaryAccountIdentifier = @"test";
request.paymentNetwork = @"Test";
PKPassLibrary *libra;
[libra openPaymentSetup];
PKAddPaymentPassViewController *vc = [[PKAddPaymentPassViewController alloc] initWithRequestConfiguration:request delegate:self];
vc.delegate = self;
[self presentViewController:vc animated:YES completion:nil];
应用程序崩溃了。错误将Nil
值传递给viewcontoller。
答案 0 :(得分:1)
首先使用加密方案创建PKAddPaymentPassRequestConfiguration。然后使用此配置创建PKAddPaymentPassViewController。更新配置变量中的所有必需详细信息。
PKAddPaymentPassRequestConfiguration * config = [[PKAddPaymentPassRequestConfiguration alloc] initWithEncryptionScheme:PKEncryptionSchemeECC_V2];
答案 1 :(得分:0)
必须初始化PKPassLibrary& PKPaymentPassRequestConfiguration将PKPassLibrary *libra;
替换为PKPassLibrary *libra = [[PKPassLibrary alloc] init];