使用CNContactStore以编程方式将家庭地址保存到新联系人?斯威夫特3

3 iphone cllocationmanager cncontact cncontactstore swift3

我想以编程方式在我的应用程序中创建一个联系人,并使用apples Contacts框架将其保存到实际的联系人中.我可以用名字,姓氏创建一个,甚至可以使用日期.

我开始

let contact = CNMutableContact()
Run Code Online (Sandbox Code Playgroud)

结束

let store = CNContactStore()
let saveRequest = CNSaveRequest()
saveRequest.add(contact, toContainerWithIdentifier: nil)
try? store.execute(saveRequest)
Run Code Online (Sandbox Code Playgroud)

但我无法弄清楚如何使用家庭住址.任何帮助将不胜感激,谢谢.喜欢通过位置坐标甚至是一串城市,州,街道等来做到这一点.

谢谢.

Fah*_*him 8

以下是创建家庭住址的方法:

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)
Run Code Online (Sandbox Code Playgroud)

如果要创建工作地址,则需要创建另一个CNMutablePostalAddress实例来保存工作地址信息,然后创建另一个CNLabeledValue<CNPostalAddress>带有标签的实例CNLabelWork,并将新CNLabeledValue<CNPostalAddress>实例添加到最终postalAddresses数组中.