通訊錄

系統(tǒng)通訊錄

  • AddressBook(iOS9之前)

引入頭文件

#import <AddressBook/AddressBook.h>
#import <AddressBookUI/AddressBookUI.h>

遵循代理

<ABPeoplePickerNavigationControllerDelegate, UINavigationControllerDelegate, ABPersonViewControllerDelegate>

實現(xiàn)代理方法

#pragma mark 選擇聯(lián)系人
- (void)handleAddContact:(UIButton *)sender
{
    ABPeoplePickerNavigationController *peoplePicker = [[ABPeoplePickerNavigationController alloc]init];
    peoplePicker.peoplePickerDelegate = self;
    peoplePicker.predicateForSelectionOfPerson = [NSPredicate predicateWithValue:false];
    [self presentViewController:peoplePicker animated:YES completion:nil];
}

#pragma mark 跳轉(zhuǎn)聯(lián)系人詳情
- (void)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker didSelectPerson:(ABRecordRef)person{
    ABPersonViewController *personViewController = [[ABPersonViewController alloc] init];
    personViewController.displayedPerson = person;
    personViewController.personViewDelegate = self;
    [peoplePicker pushViewController:personViewController animated:YES];
}

- (BOOL)personViewController:(ABPersonViewController *)personViewController shouldPerformDefaultActionForPerson:(ABRecordRef)person property:(ABPropertyID)property identifier:(ABMultiValueIdentifier)identifier
{
    // 如果點擊的是電話選項剃氧,不進行響應(yīng),就是在真機中阱缓,點擊電話cell,不會相應(yīng)撥打電話
    return (property == kABPersonPhoneProperty)?false:true;
}

- (void)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker didSelectPerson:(ABRecordRef)person property:(ABPropertyID)property identifier:(ABMultiValueIdentifier)identifier {
    
    if (property == kABPersonPhoneProperty)
    {
        //獲取聯(lián)系人的姓名
        CFStringRef firstName = ABRecordCopyValue(person, kABPersonFirstNameProperty);
        CFStringRef lastName = ABRecordCopyValue(person, kABPersonLastNameProperty);
        NSString *firstNameStr = (__bridge_transfer NSString *)(firstName);
        NSString *lastNameStr = (__bridge_transfer NSString *)(lastName);
        NSString *name = @"";
        // 小坑厢岂,10.0后如果用UIAddressBook,firstName和lastName居然反著
        if ([[UIDevice currentDevice].systemVersion floatValue] >= 10.0)
        {
            name = [NSString stringWithFormat:@"%@%@",lastNameStr?lastNameStr:@"",firstNameStr?firstNameStr:@""];
        }
        else
        {
            name = [NSString stringWithFormat:@"%@%@",firstNameStr?firstNameStr:@"",lastNameStr?lastNameStr:@""];
        }
        
        // 獲取手機號
        ABMultiValueRef phones = ABRecordCopyValue(person, kABPersonPhoneProperty);
        NSString *phoneValue = (__bridge_transfer NSString *) ABMultiValueCopyValueAtIndex(phones, identifier);
        NSString *phoneNum1 = [phoneValue stringByReplacingOccurrencesOfString:@"-" withString:@""];
        NSString *phoneNum2 = [phoneNum1 stringByReplacingOccurrencesOfString:@"(" withString:@""];
        NSString *phoneNum3 = [phoneNum2 stringByReplacingOccurrencesOfString:@")" withString:@""];
        NSString *phoneNum4 = [phoneNum3 stringByReplacingOccurrencesOfString:@"(" withString:@""];
        NSString *phoneNum5 = [phoneNum4 stringByReplacingOccurrencesOfString:@")" withString:@""];
        _nameTextField.text = name;
        _phoneTextField.text = phoneNum5;
        CFRelease(phones);
    }
    NSLog(@"選擇了某個屬性");
}
  • ContactsUI(iOS9之后)

引入頭文件

#import <ContactsUI/ContactsUI.h>  

// 遵循代理

<CNContactPickerDelegate>

推薦

系統(tǒng)權(quán)限

通訊錄

iOS開發(fā)進階-Contacts/ContactUI學習和使用

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末伍茄,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌冲呢,老刑警劉巖鸥咖,帶你破解...
    沈念sama閱讀 218,386評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件燕鸽,死亡現(xiàn)場離奇詭異,居然都是意外死亡啼辣,警方通過查閱死者的電腦和手機啊研,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評論 3 394
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來鸥拧,“玉大人党远,你說我怎么就攤上這事「幌遥” “怎么了沟娱?”我有些...
    開封第一講書人閱讀 164,704評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長腕柜。 經(jīng)常有香客問我济似,道長矫废,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,702評論 1 294
  • 正文 為了忘掉前任砰蠢,我火速辦了婚禮蓖扑,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘台舱。我一直安慰自己律杠,他們只是感情好,可當我...
    茶點故事閱讀 67,716評論 6 392
  • 文/花漫 我一把揭開白布竞惋。 她就那樣靜靜地躺著柜去,像睡著了一般。 火紅的嫁衣襯著肌膚如雪碰声。 梳的紋絲不亂的頭發(fā)上诡蜓,一...
    開封第一講書人閱讀 51,573評論 1 305
  • 那天,我揣著相機與錄音胰挑,去河邊找鬼蔓罚。 笑死,一個胖子當著我的面吹牛瞻颂,可吹牛的內(nèi)容都是我干的豺谈。 我是一名探鬼主播,決...
    沈念sama閱讀 40,314評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼贡这,長吁一口氣:“原來是場噩夢啊……” “哼茬末!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起盖矫,我...
    開封第一講書人閱讀 39,230評論 0 276
  • 序言:老撾萬榮一對情侶失蹤丽惭,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后辈双,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體责掏,經(jīng)...
    沈念sama閱讀 45,680評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,873評論 3 336
  • 正文 我和宋清朗相戀三年湃望,在試婚紗的時候發(fā)現(xiàn)自己被綠了换衬。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片捡需。...
    茶點故事閱讀 39,991評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡鳄乏,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出砍濒,到底是詐尸還是另有隱情废士,我是刑警寧澤叫潦,帶...
    沈念sama閱讀 35,706評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站官硝,受9級特大地震影響诅挑,放射性物質(zhì)發(fā)生泄漏四敞。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,329評論 3 330
  • 文/蒙蒙 一拔妥、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧达箍,春花似錦没龙、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,910評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至赃磨,卻和暖如春筝家,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背邻辉。 一陣腳步聲響...
    開封第一講書人閱讀 33,038評論 1 270
  • 我被黑心中介騙來泰國打工溪王, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人值骇。 一個月前我還...
    沈念sama閱讀 48,158評論 3 370
  • 正文 我出身青樓莹菱,卻偏偏與公主長得像,于是被迫代替她去往敵國和親吱瘩。 傳聞我的和親對象是個殘疾皇子道伟,可洞房花燭夜當晚...
    茶點故事閱讀 44,941評論 2 355

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

  • 簡介: 前段時間公司需要iOS端獲取手機通訊錄,然后通過MFi(后續(xù)將寫一寫關(guān)于BLE以及MFi的相關(guān)文章)同步到...
    水丿果糖閱讀 1,642評論 0 1
  • 如何訪問用戶的通訊錄 在iOS中使碾,有2個框架可以訪問用戶的通訊錄 AddressBookUI.framework ...
    JonesCxy閱讀 775評論 0 2
  • 通訊錄簡介 通訊錄使用場景: 電商類的 App蜜徽,設(shè)置收貨人電話號碼。 即時通訊類 App票摇,添加手機聯(lián)系人好友拘鞋。 通...
    LeeJay閱讀 24,640評論 43 107
  • 陽光已透過玻璃投射出它燦爛的影子。盡管冬已退去兄朋,但它余留的溫度還在掐禁。春看到冬的戀戀不舍不忍離去之態(tài),便不忍上前打擾...
    以琳閱讀 107評論 0 0