HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – 如何使用CNContacts在swift中仅获取手机号码?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一些代码可以检索用户联系人中的所有电话号码,但只想过滤掉手机号码.目前,我只是通过向数添加一个数字“”或第二个数字“7”的数字来实现此目的,如下所示:

func findContacts () -> [CNContact]{
    let keysToFetch = [CNContactFormatter.descriptorForrequiredKeysForStyle(.FullName),CNContactPhonenumbersKey]
    let fetchrequest: CNContactFetchrequest = CNContactFetchrequest(keysToFetch: keysToFetch)
    var contacts = [CNContact]()
    CNContact.localizedStringForKey(CNLabelPhonenumberiPhonE)
    fetchrequest.mutabLeobjects = false
    fetchrequest.unifyResults = true
    fetchrequest.sortOrder = .UserDefault

    let contactStorEID = CNContactStore().defaultContainerIdentifier()

    do {

        try CNContactStore( ).enumerateContactsWithFetchrequest(fetchrequest) { (let contact,let stop) -> Void in
            if contact.phonenumbers.count > 0 {
                contacts.append(contact)
            }
            if (contact.isKeyAvailable(CNContactPhonenumbersKey)) {
                for phonenumber:CNLabeledValue in contact.phonenumbers {
                    let number = phonenumber.value as! CNPhonenumber
                    print(number.stringvalue)
                    let index = number.stringvalue.starTindex.advancedBy(1)
                    let indexPlus = number.stringvalue.starTindex.advancedBy(0)
                    if number.stringvalue[index] == Character(String(7)) || number.stringvalue[indexPlus] == Character("+"){
                        self.allnumbers.append("\(number.stringvalue)")
                    }
                }
            }
        }

由于联系人存储在带有“移动”标签的iPhone上,我想知道是否只能将这些数字添加到阵列中.谢谢 :)

解决方法

检查号码的标签是否像这样移动:

var mobiles = [CNPhonenumber]()

for num in contact.phonenumbers {
    let numVal = num.value as! CNPhonenumber
    if num.label == CNLabelPhonenumberMobile {
        mobiles.append(numVal)
    }
}

然后你有一系列的手机号码给那个人.

大佬总结

以上是大佬教程为你收集整理的ios – 如何使用CNContacts在swift中仅获取手机号码?全部内容,希望文章能够帮你解决ios – 如何使用CNContacts在swift中仅获取手机号码?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。