CNContactStore上的电话号码谓词

时间:2015-11-07 11:03:24

标签: ios swift nspredicate cncontact cncontactstore

我正在Swift中构建一个应用程序。我想使用phoneNumber(作为String)创建谓词,并从CNContactStore检索该联系人的名称 - 如果它存在 - 。我可以通过以下方式轻松地创建名称谓词:

let pred = CNContact.predicateForContactsMatchingName(name: String)

但有没有办法对PhoneNumber做同样的事情。我当然可以获取整个CNContactStore,循环遍历它并检索联系人。但我想知道是否有更好的方法。

2 个答案:

答案 0 :(得分:2)

简而言之:您无法根据电话号码创建谓词进行过滤。您必须拉出所有联系人并进行迭代。注意:对于任何给定的电话号码,1)可能不存在于联系人中,或2)存在多次。

看看这篇文章: https://forums.developer.apple.com/thread/19329

答案 1 :(得分:0)

对于任何看到此帖子的人。 在iOS11中,Apple引入了这种新方法来获取电话号码中的联系人。 https://developer.apple.com/documentation/contacts/cncontact/3020511-predicateforcontacts

请参阅: https://nshipster.com/ios-12/