Как я могу получить все контакты с номером мобильного телефона, используя структуру контактов в Swift?
Я использую try contactStore.unifiedContactsMatchingPredicate
с ключом CNContactPhoneNumbersKey
но я не уверен что NSPredicate
использовать, чтобы просто принять все CNContact
с ненулевым CNContactPhoneNumbersKey
,
1 ответ
Вы должны перечислить все хранилище контактов, так как предикаты еще недостаточно гибки:
var contactsWithPhoneNumber = [CNContact]()
let fetchRequest = CNContactFetchRequest(keysToFetch: [CNContactGivenNameKey, CNContactFamilyNameKey, CNContactPhoneNumbersKey])
try! contactStore.enumerateContactsWithFetchRequest(fetchRequest) { contact, stop in
if contact.phoneNumbers.count > 0 {
contactsWithPhoneNumbers.append(contact)
}
}