zoukankan      html  css  js  c++  java
  • 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...
                }
            }
        
        }
    
    }
    

      

  • 相关阅读:
    发工资
    洛谷 P1821 [USACO07FEB]银牛派对Silver Cow Party
    洛谷P2169 正则表达式
    洛谷[LnOI2019]长脖子鹿省选模拟赛t1 -> 快速多项式变换
    洛谷 P1690 贪婪的Copy
    洛谷P1090 合并果子
    洛谷P1886 滑动窗口
    洛谷CF784E Twisted Circuit
    洛谷P2430 严酷的训练
    开博客第一天祭!!!
  • 原文地址:https://www.cnblogs.com/imhere/p/4310703.html
Copyright © 2011-2022 走看看