如何在您的应用中仅从iPhone获取真正的联系人?

时间:2015-05-26 08:23:33

标签: iphone swift ios8 contacts xcode6.3.1

我需要在我的应用程序中获取iPhone的联系人,并且我已经为此编写了代码。在一些iPhone中,很少有联系人不是正版,我的意思是名称保存为空白或任何随机字符串,如“6.w S”,并且在某些数字中不是正版。我想获取下面图片中显示的联系人,因为它正在崩溃我的应用程序。那么我需要进行哪些检查以避免获取这样的联系人。我正在使用Swift,我的代码也写在下面:

我的代码:

var people = ABAddressBookCopyArrayOfAllPeopleInSourceWithSortOrdering(self.objAddressBook, nil, ABPersonGetSortOrdering()).takeUnretainedValue() as NSArray  as [ABRecord]

        for person in people
        {
            var multiPhones:ABMultiValueRef = ABRecordCopyValue(person, kABPersonPhoneProperty).takeRetainedValue()

            for phoneNumbers in 0..<ABMultiValueGetCount(multiPhones)
            {
                var phoneNumber = ABMultiValueCopyValueAtIndex(multiPhones, phoneNumbers).takeRetainedValue() as! String

                var nameOfPerson: String = (ABRecordCopyCompositeName(person).takeRetainedValue() as! String)

                var personRecordDic = ["name":nameOfPerson,"phone":phoneNumber]

                self.contactsArray.addObject(personRecordDic)
            }
        }

问题导致联系

enter image description here

1 个答案:

答案 0 :(得分:0)

获取联系人时,会在必填字段中添加验证。

EG。如果您使用的是数字,联系电子邮件,请检查这些字段是否有空白值。如果有空白值,则不要添加到您的列表中。