我目前可以从联系人应用程序中获取联系人,但我面临的问题是我需要能够选择要导入到我的应用程序的联系人,如果联系人有超过 1 个电话号码,我总是得到第一个数字,这是我正在使用的代码:
func contactPicker(_ picker: CNContactPickerViewController, didSelect contactProperty: CNContactProperty) {
let numbers = contactProperty.contact.phoneNumbers.first
let firstName = contactProperty.contact.givenName
let lastName = contactProperty.contact.familyName
let phoneNumber = (numbers?.value)?.stringValue ?? ""
/// Duplicate phone numbers will not be saved
if phoneNumbers.contains(phoneNumber) {
return
}
/// Saving selected contact in Core Data
CoreDataManager.sharedInstance.savePhoneNumberInCoreData(FirstName: firstName, LastName: lastName, PhoneNumber: phoneNumber)
DispatchQueue.main.async { [weak self] in
self?.tableView.reloadData()
}
}
线的问题:
contactProperty.contact.phoneNumbers.first
有两个选项仅适用于contactProperty.contact.phoneNumbers
.first
或.last
如果有类似的东西.selected
,它将解决问题。