欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

IOS 通訊錄的訪問(wèn)和修改的實(shí)現(xiàn)

 更新時(shí)間:2017年06月27日 11:54:26   投稿:lqh  
這篇文章主要介紹了IOS 通訊錄的訪問(wèn)和修改的實(shí)現(xiàn)的相關(guān)資料,需要的朋友可以參考下

IOS 通訊錄的訪問(wèn)和修改的實(shí)現(xiàn)

在iOS端可以通過(guò)AddressBook或者AddressBookUI兩個(gè)框架實(shí)現(xiàn),區(qū)別是第二個(gè)框架帶視圖,一般使用第一個(gè)框架就夠了。
下面介紹AddressBook框架的使用,注意這個(gè)是C語(yǔ)言框架,使用起來(lái)比較麻煩。

①請(qǐng)求授權(quán)

先判斷授權(quán)狀態(tài),如果未授權(quán)則進(jìn)行授權(quán)。

// 1.主動(dòng)請(qǐng)求授權(quán),先判斷授權(quán)狀態(tài) 
NSInteger state = ABAddressBookGetAuthorizationStatus(); 
if (state == kABAuthorizationStatusAuthorized) { 
  NSLog(@"已經(jīng)授權(quán)"); 
}else{ 
  ABAddressBookRef book = ABAddressBookCreateWithOptions(NULL, NULL); 
  ABAddressBookRequestAccessWithCompletion(book, ^(bool granted, CFErrorRef error) { 
    if (granted) { 
      NSLog(@"授權(quán)成功"); 
    }else{ 
      NSLog(@"授權(quán)失敗"); 
    } 
  }); 
} 

②獲取通訊錄的聯(lián)系人

c語(yǔ)言沒(méi)有對(duì)象,通過(guò)一些以Ref結(jié)尾的指針來(lái)獲取數(shù)據(jù)。

注意C語(yǔ)言數(shù)組的規(guī)模通過(guò)函數(shù)獲取,拿到元素也要通過(guò)函數(shù)。

注意一些枚舉值以k開(kāi)頭。

注意電話是一個(gè)數(shù)組。

// 先判斷授權(quán)狀態(tài) 
if (ABAddressBookGetAuthorizationStatus() != kABAuthorizationStatusAuthorized) { 
  NSLog(@"未授權(quán)"); 
  return; 
} 
 
ABAddressBookRef book = ABAddressBookCreateWithOptions(NULL, NULL); 
CFArrayRef persons = ABAddressBookCopyArrayOfAllPeople(book); 
CFIndex count = CFArrayGetCount(persons); 
for (NSInteger i = 0; i < count; i++) { 
  ABRecordRef person = CFArrayGetValueAtIndex(persons, i); 
  CFStringRef lastName = ABRecordCopyValue(person, kABPersonLastNameProperty); 
  CFStringRef firstName = ABRecordCopyValue(person, kABPersonFirstNameProperty); 
  ABMutableMultiValueRef phones = ABRecordCopyValue(person, kABPersonPhoneProperty); 
  NSLog(@"聯(lián)系人:%@ %@",lastName,firstName); 
  NSInteger cnt = ABMultiValueGetCount(phones); 
  for (int j = 0; j < cnt; j++) { 
    CFStringRef phone = ABMultiValueCopyValueAtIndex(phones, j); 
    NSLog(@"電話:%@ ",phone); 
  } 
} 

③修改通訊錄聯(lián)系人

首先拿到通訊錄中的人,然后調(diào)用SetValue方法來(lái)修改值。

最后不要忘記保存。

// 先判斷授權(quán)狀態(tài) 
if (ABAddressBookGetAuthorizationStatus() != kABAuthorizationStatusAuthorized) { 
  NSLog(@"未授權(quán)"); 
  return; 
} 
 
ABAddressBookRef book = ABAddressBookCreateWithOptions(NULL, NULL); 
CFArrayRef persons = ABAddressBookCopyArrayOfAllPeople(book); 
ABRecordRef person = CFArrayGetValueAtIndex(persons, 0); 
ABRecordSetValue(person, kABPersonLastNameProperty, @"changed", NULL); 
ABAddressBookSave(book, NULL); 

④添加一個(gè)聯(lián)系人

注意添加電話時(shí)應(yīng)創(chuàng)建MultiValue。

// 先判斷授權(quán)狀態(tài) 
if (ABAddressBookGetAuthorizationStatus() != kABAuthorizationStatusAuthorized) { 
  NSLog(@"未授權(quán)"); 
  return; 
} 
 
ABAddressBookRef book = ABAddressBookCreateWithOptions(NULL, NULL); 
CFArrayRef persons = ABAddressBookCopyArrayOfAllPeople(book); 
CFIndex count = CFArrayGetCount(persons); 
for (NSInteger i = 0; i < count; i++) { 
  ABRecordRef person = CFArrayGetValueAtIndex(persons, i); 
  CFStringRef lastName = ABRecordCopyValue(person, kABPersonLastNameProperty); 
  CFStringRef firstName = ABRecordCopyValue(person, kABPersonFirstNameProperty); 
  ABMutableMultiValueRef phones = ABRecordCopyValue(person, kABPersonPhoneProperty); 
  NSLog(@"聯(lián)系人:%@ %@",lastName,firstName); 
  NSInteger cnt = ABMultiValueGetCount(phones); 
  for (int j = 0; j < cnt; j++) { 
    CFStringRef phone = ABMultiValueCopyValueAtIndex(phones, j); 
    NSLog(@"電話:%@ ",phone); 
  } 
} 

感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

相關(guān)文章

  • iOS中WKWebView白屏問(wèn)題的分析與解決

    iOS中WKWebView白屏問(wèn)題的分析與解決

    最近在工作中遇到了WKWebView白屏的問(wèn)題,所以這篇文章主要給大家介紹了關(guān)于iOS中WKWebView白屏問(wèn)題的分析與解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)同樣遇到這個(gè)問(wèn)題的朋友具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-10-10
  • iOS自學(xué)筆記之XIB的使用教程

    iOS自學(xué)筆記之XIB的使用教程

    本篇文章主要介紹了iOS自學(xué)筆記之XIB的使用教程,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-01-01
  • IOS 中runtime使用方法整理

    IOS 中runtime使用方法整理

    這篇文章主要介紹了IOS 中runtime使用方法整理的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • IOS實(shí)現(xiàn)微信朋友圈相冊(cè)評(píng)論界面的翻轉(zhuǎn)過(guò)渡動(dòng)畫(huà)

    IOS實(shí)現(xiàn)微信朋友圈相冊(cè)評(píng)論界面的翻轉(zhuǎn)過(guò)渡動(dòng)畫(huà)

    現(xiàn)在很多人幾乎每天都離不開(kāi)微信,大家有沒(méi)有發(fā)現(xiàn)在點(diǎn)開(kāi)微信相冊(cè)的時(shí)候,想要在相冊(cè)圖片界面跳轉(zhuǎn)查看點(diǎn)贊和評(píng)論時(shí),微信會(huì)采用界面翻轉(zhuǎn)的過(guò)渡動(dòng)畫(huà)來(lái)跳轉(zhuǎn)到評(píng)論界面,點(diǎn)擊完成又會(huì)翻轉(zhuǎn)回到圖片界面,這不同于一般的導(dǎo)航界面滑動(dòng)動(dòng)畫(huà),于是學(xué)著做了一下,有需要一起看看。
    2016-08-08
  • iOS音樂(lè)后臺(tái)播放及鎖屏信息顯示

    iOS音樂(lè)后臺(tái)播放及鎖屏信息顯示

    這篇文章主要為大家詳細(xì)介紹了iOS音樂(lè)后臺(tái)播放及鎖屏信息顯示,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-12-12
  • iOS 11 UINavigationItem 去除左右間隙的方法

    iOS 11 UINavigationItem 去除左右間隙的方法

    本篇文章主要介紹了iOS 11 UINavigationItem 去除左右間隙的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-10-10
  • iOS 委托與文本輸入(內(nèi)容根據(jù)iOS編程編寫(xiě))

    iOS 委托與文本輸入(內(nèi)容根據(jù)iOS編程編寫(xiě))

    這篇文章主要介紹了iOS 委托與文本輸入(內(nèi)容根據(jù)iOS編程編寫(xiě)) 的相關(guān)資料,需要的朋友可以參考下
    2016-09-09
  • 詳解適配iOS10 的相關(guān)權(quán)限設(shè)置

    詳解適配iOS10 的相關(guān)權(quán)限設(shè)置

    在最新版本的iOS10系統(tǒng)中,如果你的項(xiàng)目中訪問(wèn)了隱私數(shù)據(jù),比如:相機(jī)、相冊(cè)、錄音、定位、聯(lián)系人等等。涉及到權(quán)限問(wèn)題,本篇文章主要介紹了適配iOS10 的相關(guān)權(quán)限設(shè)置,有興趣的可以了解一下。
    2016-12-12
  • iOS10 ATS 配置詳細(xì)介紹

    iOS10 ATS 配置詳細(xì)介紹

    這篇文章主要介紹了iOS10 ATS 配置詳細(xì)介紹的相關(guān)資料,這里舉例說(shuō)明該如何配置,需要的朋友可以參考下
    2016-12-12
  • iOS開(kāi)發(fā)-自定義相機(jī)實(shí)例(仿微信)

    iOS開(kāi)發(fā)-自定義相機(jī)實(shí)例(仿微信)

    這篇文章主要介紹了iOS開(kāi)發(fā)-自定義相機(jī)實(shí)例(仿微信),實(shí)例分析了ios 自定義相機(jī)的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下。
    2017-03-03

最新評(píng)論