獲取通訊錄-第三方框架RHAddressBook(OC)

  1. 集成框架
    1. 將整個工程拖入項目
    2. 添加工程依賴
    Build Phases -> Target Dependencies -> +
    3. 添加鏈接項
    Build Settings -> Other Linker Flags -> -ObjC -all_load
    4. 導(dǎo)入框架頭文件

    #import <RHAddressBook/AddressBoook.h>
    
  2. 代碼實(shí)現(xiàn)

    // 2. 使用框架獲取所有聯(lián)系人信息
    
    // 2.1 請求授權(quán)
        // 1. 獲取授權(quán)狀態(tài)
        RHAuthorizationStatus status = [RHAddressBook authorizationStatus];
    
        if (status == RHAuthorizationStatusNotDetermined)
        {
            // 2. 創(chuàng)建通訊錄對象
            RHAddressBook *addressBook = [[RHAddressBook alloc] init];
    
            // 3. 請求授權(quán)
            [addressBook requestAuthorizationWithCompletion:^(bool granted, NSError *error) {
            if (granted)
            {
                NSLog(@"授權(quán)成功!");
            }
            else
            {
                NSLog(@"授權(quán)失敗");
            }
            }];
        }
    
    // 2.2 獲取聯(lián)系人信息
    
        // 1. 判斷當(dāng)前授權(quán)狀態(tài)
        RHAuthorizationStatus status = [RHAddressBook authorizationStatus];
        if (status != RHAuthorizationStatusAuthorized) {
            return;
        }
    
        // 2. 創(chuàng)建通訊錄對象
        RHAddressBook *addressBook = [[RHAddressBook alloc] init];
    
        // 3. 獲取所有聯(lián)系人
        NSArray *peoples = addressBook.people;
    
        // 4. 遍歷所有聯(lián)系人
        for (RHPerson *person in peoples)
        {
            // 4.1 獲取聯(lián)系人姓名
            NSString *firstName = person.firstName;
            NSString *lastName = person.lastName;
            NSLog(@"%@---%@", firstName, lastName);
    
            // 4.2 獲取聯(lián)系人電話
            RHMultiStringValue *mv = person.phoneNumbers;
            for (int i = 0; i < mv.count; i ++)
            {
                // 4.2.1 獲取電話標(biāo)簽
                NSString *label = [mv labelAtIndex:i];
                // NSString *label = [mv localizedLabelAtIndex:i];
    
                // 4.2.2 獲取電話號碼
                NSString *phone = [mv valueAtIndex:i];
                NSLog(@"%@--%@", label, phone);
    
            }
        }
    
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容