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



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

我从

let contact = CNMutableContact()

并以

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

但是我不知道如何使用家庭住址来做到这一点。任何帮助将不胜感激,谢谢。很想通过位置坐标甚至一串城市、州、街道等来做到这一点。

谢谢。

以下是

创建家庭住址的方法:

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实例来保存工作地址信息,然后创建另一个标签为 CNLabelWorkCNLabeledValue<CNPostalAddress>,并将新的 CNLabeledValue<CNPostalAddress> 实例添加到最终的postalAddresses数组中。

最新更新