创建我的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中的一个错误,但我绝对不会排除它是我的错。 (通常是。)
有没有其他人遇到这个?有解决方法吗?