TestsTested | ✗ |
LangLanguage | Obj-CObjective C |
License | MIT |
ReleasedLast Release | Dec 2016 |
Maintained by jkpang.
PPGetAddressBook对AddressBook框架(iOS9之前)和Contacts框架(iOS9之后)做了对应的封装处理;
支持一句代码获取按联系人姓名首字拼音A~Z排序(重点:已处理姓名所有字符的排序问题,排序更准确!);
下载DEMO后,将子文件夹PPGetAddressBook拖入到项目中, 导入头文件PPGetAddressBook.h开始使用
*注意, 在iOS 10系统下必须在info.plist文件中配置获取隐私数据权限声明 : 兼容iOS 10:配置获取隐私数据权限声明
//请求用户获取通讯录权限
[PPGetAddressBook requestAddressBookAuthorization];
//获取按联系人姓名首字拼音A~Z排序(已经对姓名的第二个字做了处理)
[PPGetAddressBook getOrderAddressBook:^(NSDictionary<NSString *,NSArray *> *addressBookDict, NSArray *nameKeys) {
//addressBookDict: 装着所有联系人的字典
//nameKeys: A~Z拼音字母数组;
//刷新 tableView
[self.tableView reloadData];
} authorizationFailure:^{
NSLog(@"请在iPhone的“设置-隐私-通讯录”选项中,允许PPAddressBook访问您的通讯录");
}];
//获取没有经过排序的联系人模型
[PPGetAddressBook getOriginalAddressBook:^(NSArray<PPPersonModel *> *addressBookArray) {
//addressBookArray:原始顺序的联系人模型数组
//刷新 tableView
[self.tableView reloadData];
} authorizationFailure:^{
NSLog(@"请在iPhone的“设置-隐私-通讯录”选项中,允许PPAddressBook访问您的通讯录");
}];
如果你有更好的实现方法,希望不吝赐教!
PPGetAddressBook 使用 MIT 许可证,详情见 LICENSE 文件。