未提取电子邮件ID和电话号码。我尝试使用的示例代码如下。谁能告诉我这里的问题?
ApplePayAddress *apAddress = [[ApplePayAddress alloc] init];
apAddress.firstName = (__bridge NSString *)(ABRecordCopyValue(address, kABPersonFirstNameProperty));
apAddress.lastName = (__bridge NSString *)(ABRecordCopyValue(address, kABPersonLastNameProperty));
ABMultiValueRef addressMultiValue = ABRecordCopyValue(address, kABPersonAddressProperty);
NSDictionary *addressDictionary = (__bridge_transfer NSDictionary *) ABMultiValueCopyValueAtIndex(addressMultiValue, 0);
NSLog(@"AddressDictionary:%@",addressDictionary);
apAddress.emailId = [addressDictionary objectForKey:(NSString *)kABPersonEmailProperty];
apAddress.phNumber = [addressDictionary objectForKey:(NSString *)CNContactPhoneNumbersKey];
apAddress.street = [addressDictionary objectForKey:(__bridge NSString *)kABPersonAddressStreetKey];
apAddress.city = [addressDictionary objectForKey:(__bridge NSString *)kABPersonAddressCityKey];
apAddress.state = [addressDictionary objectForKey:(__bridge NSString *)kABPersonAddressStateKey];
apAddress.zip = [addressDictionary objectForKey:(__bridge NSString *)kABPersonAddressZIPKey];
apAddress.country = [addressDictionary objectForKey:(__bridge NSString *)kABPersonAddressCountryKey];
apAddress.countryCode = [addressDictionary objectForKey:(__bridge NSString *)kABPersonAddressCountryCodeKey];
答案 0 :(得分:0)
您可以使用以下代码提取电话号码和电子邮件:将此代码写入didAuthorizePayment委托方法
ABMultiValueRef addressMultiValue1 = ABRecordCopyValue(payment.shippingAddress, kABPersonEmailProperty);
apAddress.emailId = (__bridge NSString *)ABMultiValueCopyValueAtIndex (addressMultiValue1, 0);
ABMultiValueRef addressMultiValue2 = ABRecordCopyValue(payment.shippingAddress, kABPersonPhoneProperty);
apAddress.phoneNumber = (__bridge NSString *)ABMultiValueCopyValueAtIndex (addressMultiValue2, 0);