訪問手機通訊錄

weixin_34146805發表於2017-09-16

獲取手機通訊錄名字,電話號碼

1,初始化

TBContactTool *contactToll = [[TBContactTool alloc] init];
contactToll.delegate = self;

2,獲取所有通訊錄名字,電話(無序)

- (void)contactArray:(NSArray *)personAray authorizationSuccess:(BOOL)success{
    if (!success) return;
    
    NSLog(@"==========================contactArray===================================");
    for (TBContactPerson *person in personAray) {
        NSLog(@"%@", person.name);
        for (NSString *string in person.telphoneArray) {
            NSLog(@"%@", string);
        }
        NSLog(@"=============================================================");
    }
}

3,獲取所有通訊錄名字,電話(按名字首位字母排序)

- (void)contactByLastNameDic:(NSArray *)personArray authorizationSuccess:(BOOL)success {
    
    if (!success) return;
    
    NSLog(@"======================contactByLastNameDic=======================================");
    NSArray *keys = personArray[0];
    for (NSString *keyString in keys) {
        NSLog(@"======================key===================== %@", keyString);
        NSArray *personInDicArray = (NSArray *)(personArray[1][keyString]);
        for (TBContactPerson *person in personInDicArray) {
            NSLog(@"%@", person.name);
            for (NSString *string in person.telphoneArray) {
                NSLog(@"%@", string);
            }
            NSLog(@"=============================================================");
        }
    }
}
7078206-1bcf5a46af8a9e7d.png
E1E33DFD-F924-4758-99AB-935C44F09C56.png
7078206-ce39bd616599f6c6.png
BDDA95F6-51E8-4ABE-AF1E-D019546A9FE0.png

注意小點:

1,一個人擁有零到多個手機號
2,通訊錄部分手機有86,或其他開頭
3,手機號有橫槓的情況(已經處理,用@""代替)
4,部分聯絡人有可能沒名字(已經處理,用@"#"代替)
5,獲取的有序資料,按大寫A-Z#排序

相關文章