Skip to content

一行代码获取通讯录联系人,并进行A~Z排序( 已对名字第二个字做排序处理 )

License

Notifications You must be signed in to change notification settings

Tiilem/PPGetAddressBook

 
 

Repository files navigation

PPGetAddressBook

  • PPGetAddressBook对AddressBook框架(iOS9之前)和Contacts框架(iOS9之后)做了对应的封装处理;

  • 支持获取按联系人姓名首字拼音A~Z排序(重点:已经对姓名的第二个字做了处理,排序更准确!);

  • 支持获取原始顺序的联系人,未分组,可自行处理.

  • 已对号码中的"+86","-","()",空号和联系人姓名空白做了处理,不会出现因为数据源NULL导致程序crash的问题.

codeData 地址

image ##Installation 安装 ###1.手动安装: 下载DEMO后,将子文件夹PPGetAddressBook拖入到项目中, 导入头文件PPGetAddressBook.h开始使用 ###2.CocoaPods安装: first pod 'PPGetAddressBook' then pod install或pod install --no-repo-update ##Usage 使用方法

###一、首先必须要请求用户是否授权APP访问通讯录的权限(建议在APPDeletegate.m中的didFinishLaunchingWithOptions方法中调用)

     //请求用户获取通讯录权限
    [PPGetAddressBook requestAddressBookAuthorization];

###二、获取通讯录 ###1.获取按联系人姓名首字拼音A~Z排序(已经对姓名的第二个字做了处理),一句话搞定!

    [PPGetAddressBook getAddressBook:^(NSDictionary<NSString *,NSArray *> *addressBookDict, NSArray *peopleNameKey) {
        //装着所有联系人的字典
        self.contactPeopleDict = addressBookDict;
        //联系人分组按拼音分组的Key值
        self.keys = peopleNameKey;
    }];

###2.获取原始顺序的联系人模型,未分组,一句话搞定!

    self.dataSource = [NSMutableArray array];
    [PPAddressBookHandle getAddressBookDataSource:^(PPPersonModel *model) {
        [self.dataSource addObject:model];
    }];

此封装里面还有些不太完美的地方,如果你有更好的实现方法,希望不吝赐教!

##联系方式:

##许可证 PPGetAddressBook 使用 MIT 许可证,详情见 LICENSE 文件。

About

一行代码获取通讯录联系人,并进行A~Z排序( 已对名字第二个字做排序处理 )

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Objective-C 97.8%
  • Ruby 2.2%