2016-03-18 28 views
2

电子邮件ID和电话号码未被提取。下面是我尝试使用的示例代码。任何人都可以让我知道这里的问题吗?Apple Pay - 我们可以提取目标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]; 

回答

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); 
相关问题