Apple Pay - можем ли мы извлечь адрес электронной почты и номер телефона в Objective C

Идентификатор электронной почты и номер телефона не извлекаются. Пример кода, который я пытаюсь использовать, приведен ниже. Может ли кто-нибудь сообщить мне о проблеме здесь?

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];

person Laxy    schedule 18.03.2016    source источник


Ответы (1)


Вы можете извлечь номер телефона и адрес электронной почты, используя приведенный ниже код: Напишите этот код в методе делегата 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);
person Laxy    schedule 21.03.2016