PPGetAddressBookSwift与Objective- C版本功能与特性相同(基于swift语言的特性,此版本会比OC版性能要好一些).在这里就不多做介绍.
iOS 8+
Xcode 7.3.1+
下载DEMO后,将子文件夹PPGetAddressBookSwift拖入到项目中,无须import,直接使用
firstpod 'PPGetAddressBookSwift'thenpod install或pod install --no-repo- update
pod 'PPGetAddressBookSwift'
pod install或pod install --no-repo- update
在你需要使用的地方 import PPGetAddressBook
如果发现pod search PPGetAddressBookSwift 不是最新版本,在终端执行pod setup命令更新本地spec镜像缓存(时间可能有点长),重新搜索就OK了
一、首先必须要请求用户是否授权APP访问通讯录的权限(建议在APPDeletegate.m中的didFinishLaunchingWithOptions方法中调用)
// MARK: - 请求用户获取通讯录权限, 必须调用 PPGetAddressBook.requestAddressBookAuthorization()
// MARK: - 获取A~Z分组顺序的通讯录 PPGetAddressBook.getOrderAddressBook(addressBookInfo: { (addressBookDict, nameKeys) in self.addressBookSouce = addressBookDict // 所有联系人信息的字典 self.keysArray = nameKeys // 所有分组的key值 // 刷新tableView self.tableView.reloadData() }, authorizationFailure: { print("请在iPhone的“设置-隐私-通讯录”选项中,允许PPAddressBookSwift访问您的通讯录") })
// MARK: - 获取原始顺序联系人的模型数组 PPGetAddressBook.getOriginalAddressBook(addressBookArray: { (addressBookArray) in self.dataSourceArray = addressBookArray self.tableView.reloadData() }, authorizationFailure: { print("请在iPhone的“设置-隐私-通讯录”选项中,允许PPAddressBookSwift访问您的通讯录") })
如果你有更好的实现方法,希望不吝赐教!