2017-03-29 2 views
3

私はプログラムで連絡先を作成し、apples連絡先フレームワークを使用して実際の連絡先に保存したいと思います。私は名字と姓で作成し、日付で作業することもできます。CNContactStoreを使用してプログラムによって新しい連絡先に自宅の住所を保存しますか? Swift 3

私は

let contact = CNMutableContact() 

で始まり、

let store = CNContactStore() 
let saveRequest = CNSaveRequest() 
saveRequest.add(contact, toContainerWithIdentifier: nil) 
try? store.execute(saveRequest) 

で終わるが、私はホームアドレスでそれを行う方法を見つけ出すことはできません。どんな助けでも感謝します、ありがとう。場所の座標や都市、州、通りなどの文字列を使用しても大好きです。

ありがとうございました。あなたが仕事のアドレスを作成したい場合は、その後で別のCNLabeledValue<CNPostalAddress>を作成し、その後、あなたが仕事のアドレス情報を保持するために、別のCNMutablePostalAddressインスタンスを作成したい、

let store = CNContactStore() 
let contact = CNMutableContact() 
contact.familyName = "Tester" 
contact.givenName = "Bad" 
// Address 
let address = CNMutablePostalAddress() 
address.street = "Your Street" 
address.city = "Your City" 
address.state = "Your State" 
address.postalCode = "Your ZIP/Postal Code" 
address.country = "Your Country" 
let home = CNLabeledValue<CNPostalAddress>(label:CNLabelHome, value:address) 
contact.postalAddresses = [home] 
// Save 
let saveRequest = CNSaveRequest() 
saveRequest.add(contact, toContainerWithIdentifier: nil) 
try? store.execute(saveRequest) 

:ここ

答えて

5

は、あなたが自宅のアドレスを作成する方法をですラベルCNLabelWorkを追加し、新しいCNLabeledValue<CNPostalAddress>インスタンスを最終的なpostalAddressesアレイに追加します。

+0

ありがとうございました!私は間違いなくこれを試してみます。 また、逆ジオコーディングを使用しない場合は、場所を指定してそれを行うことは可能でしょうか? – Breezy

+0

あなたが調べる必要があるのは 'CNPostalAddress'クラスです。私が知る限り、それは実際のアドレス値をとるだけです。ちょうど場合には:) – Fahim

+0

私は私のCLLocationが私に都市、州のための文字列を与えるどこに私の場所をジオコードされた逆の私は見ることができる場所を渡す明白な方法はありません、そして通り。その後、あなたのコードに従って、連絡先アプリをチェックすると場所が空白になります。/ – Breezy

関連する問題