擷取iPhone通訊錄資訊

來源:互聯網
上載者:User

    iPhone中連絡人的資訊是存放在系統資料庫中的。資料庫中的每一筆記錄都是一個ABRecordRef執行個體。

    通訊錄主要存放兩種記錄:

    1、連絡人的資訊:是ABPerson類型。主要包括連絡人的姓名,電話號碼,地址資訊。

    2、分組資訊:是ABGroup類型。用於將連絡人分到不同的組中。它只有一個屬性,表示分組名稱。

    在viewDidLoad中添加下面代碼,擷取所有連絡人和分組資訊:

ABAddressBookRef addressBook =ABAddressBookCreate();CFArrayRef allPeople = ABAddressBookCopyArrayOfAllPeople (addressBook);CFArrayRef allGroups = ABAddressBookCopyArrayOfAllGroups(addressBook);for (id person in (NSArray *) allPeople)[self logContact:person];for (id group in (NSArray *) allGroups)[self logGroup:group];CFRelease(allGroups);CFRelease(allPeople);CFRelease(addressBook);

  

    使用ABAddressBookCreate建立一個AddressBook執行個體。ABAddressBook CopyArrayOfAllPeople和ABAddressBook CopyArrayOfAllGroups查詢出所有的連絡人和分組資訊。通過迴圈,使用logPerson和logGroup兩個方法將資訊輸出到控制台上。

logPerson方法:

CFStringRef name = ABRecordCopyCompositeName(person);
ABRecordID recId = ABRecordGetRecordID(person);
NSLog(@"Person Name: %@ RecordID:%d",name, recId);

logGroup方法:

CFStringRef name = ABRecordCopyValue(group,kABGroupNameProperty);
ABRecordID recId = ABRecordGetRecordID(group);
NSLog(@"Group Name: %@ RecordID:%d",name, recId);

總結:本文簡單的講述了如何通過sdk,將iphone的通訊錄資訊檢索出來。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.