PKPaymentRequest.billingAddress / shippingAddress
ここに記載されているように、ファイルにあるアドレスを入力しようとしています。
これには、ゼロから作成する必要がありますABRecordRef
。以下は私の最善の試みですが、有用なエラー メッセージが表示されずにアプリがクラッシュします。
var request = PKPaymentRequest();
var person: ABRecordRef = ABPersonCreate().takeRetainedValue()
ABRecordSetValue(person, kABPersonFirstNameProperty, "John", nil)
ABRecordSetValue(person, kABPersonLastNameProperty, "Doe", nil)
var multiValue : ABMutableMultiValue = ABMultiValueCreateMutable(ABPropertyType(kABPersonAddressProperty)).takeRetainedValue()
ABMultiValueAddValueAndLabel(multiValue, "123 Test Street", kABPersonAddressStreetKey, nil)
ABMultiValueAddValueAndLabel(multiValue, "Mountain View", kABPersonAddressCityKey, nil)
ABMultiValueAddValueAndLabel(multiValue, "CA", kABPersonAddressStateKey, nil)
ABMultiValueAddValueAndLabel(multiValue, "94040", kABPersonAddressZIPKey, nil)
ABRecordSetValue(person, kABPersonAddressProperty, multiValue, nil)
request.shippingAddress = person
request.billingAddress = person