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

时间:2017-03-29 04:50:11

标签: iphone swift3 cllocationmanager cncontact cncontactstore

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

我从

开始
let contact = CNMutableContact()

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

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

谢谢。

1 个答案:

答案 0 :(得分:7)

以下是如何创建家庭住址:

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)

如果您想创建工作地址,那么您需要创建另一个CNMutablePostalAddress实例来保存工作地址信息,然后创建标签为CNLabeledValue<CNPostalAddress>的另一个CNLabelWork并添加新的CNLabeledValue<CNPostalAddress>实例也是最终的postalAddresses数组。