2016-03-18 9 views
2

Die E-Mail-ID und Telefonnummer werden nicht extrahiert. Beispielcode, den ich versuche zu verwenden, ist unten. Kann mir jemand das Problem hier mitteilen?Apple Pay - Können wir E-Mail und Telefonnummer in Objective C extrahieren

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

Antwort

0

Sie Telefonnummer extrahieren und E-Mail den folgenden Code: Code schreiben in didAuthorizePayment Delegatmethode

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