我使用try contactStore.unifiedContactsMatchingPredicate
使用密钥CNContactPhoneNumbersKey
,但我不确定使用NSPredicate
来简单地接受所有CNContact
非零CNContactPhoneNumbersKey
。
答案 0 :(得分: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)
}
}