2016-03-18 23 views
2

E-posta kimliği ve telefon numarası alınmıyor. Kullanmaya çalıştığım örnek kod aşağıdadır. Buradaki problemi bana bilen var mı?Apple Pay - E-posta ve telefon numaralarını Objective C'ye aktarabilir miyim?

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

cevap

0
aşağıdaki kodu kullanarak telefon numarasını ve e-posta çıkarabilir

: didAuthorizePayment temsilci yönteminde bu kodu yaz

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