我正在Swift中构建一个应用程序。我想使用phoneNumber
(作为String)创建谓词,并从CNContactStore
检索该联系人的名称 - 如果它存在 - 。我可以通过以下方式轻松地创建名称谓词:
let pred = CNContact.predicateForContactsMatchingName(name: String)
但有没有办法对PhoneNumber
做同样的事情。我当然可以获取整个CNContactStore
,循环遍历它并检索联系人。但我想知道是否有更好的方法。
答案 0 :(得分:2)
简而言之:您无法根据电话号码创建谓词进行过滤。您必须拉出所有联系人并进行迭代。注意:对于任何给定的电话号码,1)可能不存在于联系人中,或2)存在多次。
答案 1 :(得分:0)
对于任何看到此帖子的人。 在iOS11中,Apple引入了这种新方法来获取电话号码中的联系人。 https://developer.apple.com/documentation/contacts/cncontact/3020511-predicateforcontacts