獲取iPhone通訊錄資訊

2021-09-22 13:30:30 字數 1692 閱讀 3255

iphone中聯絡人的資訊是存放在系統資料庫中的。資料庫中的每一筆記錄都是乙個abrecordref例項。

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

1、聯絡人的資訊:是abperson型別。主要包括聯絡人的姓名,**號碼,位址資訊。

2、分組資訊:是abgroup型別。用於將聯絡人分到不同的組中。它只有乙個屬性,表示分組名稱。

在viewdidload中新增下面**,獲取所有聯絡人和分組資訊:

abaddressbookref addressbook =abaddressbookcreate();

cfarrayref allpeople = abaddressbookcopyarrayofallpeople (addressbook);

cfarrayref allgroups = abaddressbookcopyarrayofallgroups(addressbook);

for(idperson in (nsarray*) allpeople)

[selflogcontact:person];

for(idgroup in (nsarray*) allgroups)

[selfloggroup: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的通訊錄資訊檢索出來。

獲取ios通訊錄資訊

包含相應地庫之後直接呼叫 import import void readallpeoples dispatch semaphore wait sema,dispatch time forever else 取得通訊錄失敗 if tmpaddressbook nil 將通訊錄中的資訊用陣列方式讀出 n...

獲取通訊錄

import contactsuilet vc cncontactpickerviewcontroller vc.delegate selfpresent vc,animated true,completion nil 取消選擇聯絡人時呼叫 func contactpickerdidcancel p...

讀取通訊錄資訊

void readallpeoples 取得本地通訊錄名柄 abaddressbookref tmpaddressbook nil if uidevicecurrentdevice systemversionfloatvalue 6.0 tmpaddressbook abaddressbookcre...