IOS/Swift 操作通讯录步骤

 

通讯录的访问步骤一般如下:

  1. 调用ABAddressBookCreateWithOptions()方法创建通讯录对象ABAddressBookRef。
  2. 调用ABAddressBookRequestAccessWithCompletion()方法获得用户授权访问通讯录。
  3. 调用ABAddressBookCopyArrayOfAllPeople()、ABAddressBookCopyPeopleWithName()方法查询联系人信息。
  4. 读取联系人后如果要显示联系人信息则可以调用ABRecord相关方法读取相应的数据;如果要进行修改联系人信息,则可以使用对应的方法修改ABRecord信息,然后调用ABAddressBookSave()方法提交修改;如果要删除联系人,则可以调用ABAddressBookRemoveRecord()方法删除,然后调用ABAddressBookSave()提交修改操作。
  5. 也就是说如果要修改或者删除都需要首先查询对应的联系人,然后修改或删除后提交更改。如果用户要增加一个联系人则不用进行查询,直接调用ABPersonCreate()方法创建一个ABRecord然后设置具体的属性,调用ABAddressBookAddRecord方法添加即可。

 

class ViewController: UIViewController {

    

    //1.创建通讯录对象ABAddressBookRef。

    let addressBook: ABAddressBook =  ABAddressBookCreateWithOptions(nil, nil).takeRetainedValue()

    

    override func viewDidLoad() {

        super.viewDidLoad()

        //2.获得用户授权访问通讯录

        ABAddressBookRequestAccessWithCompletion(addressBook){isAccess, error in

            if isAccess

            {

                //操作

                self.getAddressBookInfos()

            }

        }

    }

    

    func getAddressBookInfos()

    {

        if ABAddressBookGetAuthorizationStatus() == .Authorized

        {

            //3.查询联系信息

            var arr = ABAddressBookCopyArrayOfAllPeople(self.addressBook).takeRetainedValue()

            for record in arr as NSArray

            {

                //do something...

            }

        }

    

    }



}

  

 

你可能感兴趣的:(swift)