PKPayment并不总是返回一个名字

时间:2015-08-04 07:22:22

标签: ios objective-c applepay passkit

创建我的PKPaymentRequest时,我指定了一些必填字段:

request.requiredBillingAddressFields = PKAddressFieldPostalAddress|PKAddressFieldEmail|PKAddressFieldName;
request.requiredShippingAddressFields = PKAddressFieldEmail|PKAddressFieldName;

注意:我只需要结算电子邮件和姓名,但如果我没有在PKAddressFieldEmail|PKAddressFieldName上指定requiredShippingAddressFields,那么ApplePay用户界面也不会要求这样做。

然后我尝试提取这样的名字。它是否到达送货地址或帐单地址并不总是很清楚,所以我检查两者。

NSString *name = (__bridge_transfer NSString *) ABRecordCopyCompositeName(payment.shippingAddress);
if (!name) {
    name = (__bridge_transfer NSString *) ABRecordCopyCompositeName(payment.billingAddress);
}

但有时这个名字并没有显示出来。它是间歇性的,有时会出现,有时它不会没有改变任何东西。这让我怀疑它是iOS 8.4中的一个错误,但我绝对不会排除它是我的错。 (通常是。)

有没有其他人遇到这个?有解决方法吗?

0 个答案:

没有答案