创建我的时PKPaymentRequest
,我指定了一些必填字段,如下所示:
request.requiredBillingAddressFields = PKAddressFieldPostalAddress|PKAddressFieldEmail|PKAddressFieldName;
request.requiredShippingAddressFields = PKAddressFieldEmail|PKAddressFieldName;
注意:我只需要账单电子邮件和姓名,但如果我没有指定PKAddressFieldEmail|PKAddressFieldName
onrequiredShippingAddressFields
以及 ApplePay UI 不会要求这个。
然后我尝试像这样提取名称。它是否到达送货地址或帐单地址并不总是很清楚,因此我会检查两者。
NSString *name = (__bridge_transfer NSString *) ABRecordCopyCompositeName(payment.shippingAddress);
if (!name) {
name = (__bridge_transfer NSString *) ABRecordCopyCompositeName(payment.billingAddress);
}
但有时这个名字并没有出现。它是断断续续的,有时它会出现,有时它不会在没有改变任何东西的情况下出现。这让我怀疑这是 iOS 8.4 中的错误,但我绝对不排除这是我的错。(通常是。)
有没有其他人遇到过这个?有解决方法吗?