Apple Pay - 我们可以提取电子邮件吗?目标C中的电话号码

时间:2016-03-18 20:59:31

标签: ios contacts applepay

未提取电子邮件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];

1 个答案:

答案 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);