PPGetAddressBookSwift与Objective-C版本功能与特性相同(基于swift语言的特性,此版本会比OC版性能要好一些).在这里就不多做介绍.
Objective-C版本,请戳: https://github.com/jkpang/PPGetAddressBook
简书地址 ;
- iOS 8+
- Xcode 8+
下载DEMO后,将子文件夹PPGetAddressBookSwift拖入到项目中,无须import,直接使用
first
pod 'PPGetAddressBookSwift',:git => 'https://github.com/jkpang/PPGetAddressBookSwift.git'
then
pod install或pod install --no-repo-update
在你需要使用的地方 import PPGetAddressBook
如果发现pod search PPGetAddressBookSwift 不是最新版本,在终端执行pod setup命令更新本地spec镜像缓存(时间可能有点长),重新搜索就OK了
*注意, 在iOS 10系统下必须在info.plist文件中配置获取隐私数据权限声明 : 兼容iOS 10:配置获取隐私数据权限声明
// 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访问您的通讯录")
})
如果你有更好的实现方法,希望不吝赐教!
===
- 2016.10.30(tag:0.2.0)--1.对姓"长","沈","厦","地","冲"多音字进行优化处理; 2.将'#'key值排列在A~Z的末尾! 3. 修复优化其他BUG
- 2016.09.24(tag:0.1.5)--适配Swift3
- 2016.09.18(tag:0.1.1)--修复可能造成崩溃的Bug
- 2016.09.17(tag:0.1.0)--Pods初始化
- Weibo : @jkpang-庞
- Email : [email protected]
- QQ群 : 323408051
PPGetAddressBookSwift 使用 MIT 许可证,详情见 LICENSE 文件。