1
나는 Apple에서 제공 한 ABRecordRef
에서 추출한 배송 주소를 얻으려고합니다. 나는 다음했지만 내 거리가 항상 nil
로 반환 : 내가 잘못 뭐하는 거지애플 지불 배송 주소 번지
ABMultiValueRef addresses = ABRecordCopyValue(abRecordRef, kABPersonAddressProperty);
for (CFIndex index = 0; index < ABMultiValueGetCount(addresses); index++)
{
CFDictionaryRef properties = ABMultiValueCopyValueAtIndex(addresses, index);
NSString *street = [(__bridge NSString *)(CFDictionaryGetValue(properties, kABPersonAddressStreetKey)) copy];
NSLog(@"street: %@", street);
}
?
도 함께 디버깅 할 때 다음
ABMultiValueRef 0x17227fbc0 with 1 value(s)
0: Shipping (0x17227fa00) - {
City = "Marina del Rey";
Country = "United States";
State = California;
ZIP = 90292;
} (0x172447440)
편집 :
나는 또한 이름을 액세스하는 문제가 발생하고있어및
- (void)paymentAuthorizationViewController:(PKPaymentAuthorizationViewController *)controller
didSelectShippingAddress:(ABRecordRef)customShippingAddress
completion:(void (^)(PKPaymentAuthorizationStatus status, NSArray *methods, NSArray *items))completion
{
NSLog(@"%@", ABRecordCopyValue(customShippingAddress, kABPersonAddressProperty);
completion(PKPaymentAuthorizationStatusSuccess, ..., ...);
}
내가없는 거리와 함께이를 얻을 수 휴대 전화 속성 :
이 (3210)는 PKPaymentRequest가 생성되는 방법입니다
PKPaymentRequest *pr = [[PKPaymentRequest alloc] init];
[pr setMerchantIdentifier:@"********"];
[pr setCountryCode:@"US"];
[pr setCurrencyCode:@"USD"];
[pr setMerchantCapabilities:PKMerchantCapability3DS];
[pr setSupportedNetworks:@[PKPaymentNetworkAmex, PKPaymentNetworkVisa, PKPaymentNetworkMasterCard]];
[pr setPaymentSummaryItems:[self paymentSummaryItems]];
[pr setRequiredBillingAddressFields:PKAddressFieldAll];
[pr setRequiredShippingAddressFields:PKAddressFieldAll];
[pr setShippingMethods:[self supportedShippingMethods]];
수정하십시오. 보안을 위해 부분 주소 만 반환되므로 사용자가 결제를 인증하기 전에 표시 할 배송료를 계산할 수 있습니다. 일단 인증되면 사용자는 기본적으로 제공 한 전체 주소에 대한 액세스를 승인했습니다. 그렇지 않으면 배송이 불가능합니다. – runmad
캐나다 및 영국 우편 번호가 전체 우편 번호 (일부만)로 반환되지 않으므로 특정 운송 업체가있는 국가의 배송료를 계산하기가 더 어려워 질 수 있습니다. – runmad