转自:http://www.devdiv.com/home.php?mod=space&uid=8639&do=blog&id=4115 根据文章评论有改动
需要添加 AddressBook.framework库,在相应.m文件中添加 :
#import <AddressBook/AddressBook.h>
//读取所有联系人
-(void)ReadAllPeoples {
//取得本地通信录名柄
ABAddressBookRef tmpAddressBook =ABAddressBookCreate();
//取得本地所有联系人记录
NSArray* tmpPeoples = (NSArray*)ABAddressBookCopyArrayOfAllPeople(tmpAddressBook);
for(id tmpPersonin tmpPeoples)
{
//获取的联系人单一属性:First name
NSString* tmpFirstName = (NSString*)ABRecordCopyValue(tmpPerson,kABPersonFirstNameProperty);
NSLog(@"First name:%@", tmpFirstName);
[tmpFirstNamerelease];
//获取的联系人单一属性:Last name
NSString* tmpLastName = (NSString*)ABRecordCopyValue(tmpPerson,kABPersonLastNameProperty);
NSLog(@"Last name:%@", tmpLastName);
[tmpLastNamerelease];
//获取的联系人单一属性:Nickname
NSString* tmpNickname = (NSString*)ABRecordCopyValue(tmpPerson,kABPersonNicknameProperty);
NSLog(@"Nickname:%@", tmpNickname);
[tmpNicknamerelease];
//获取的联系人单一属性:Company name
NSString* tmpCompanyname = (NSString*)ABRecordCopyValue(tmpPerson,kABPersonOrganizationProperty);
NSLog(@"Company name:%@", tmpCompanyname);
[tmpCompanynamerelease];
//获取的联系人单一属性:Job Title
NSString* tmpJobTitle= (NSString*)ABRecordCopyValue(tmpPerson,kABPersonJobTitleProperty);
NSLog(@"Job Title:%@", tmpJobTitle);
[tmpJobTitlerelease];
//获取的联系人单一属性:Department name
NSString* tmpDepartmentName = (NSString*)ABRecordCopyValue(tmpPerson,kABPersonDepartmentProperty);
NSLog(@"Department name:%@", tmpDepartmentName);
[tmpDepartmentNamerelease];
//获取的联系人单一属性:Email(s)
ABMultiValueRef tmpEmails =ABRecordCopyValue(tmpPerson,kABPersonEmailProperty);
for(NSInteger j =0; j<ABMultiValueGetCount(tmpEmails); j++)
{
NSString* tmpEmailIndex = (NSString*)ABMultiValueCopyValueAtIndex(tmpEmails, j);
NSLog(@"Emails%d:%@", j, tmpEmailIndex);
[tmpEmailIndexrelease];
}
CFRelease(tmpEmails);
//获取的联系人单一属性:Birthday
NSDate* tmpBirthday = (NSDate*)ABRecordCopyValue(tmpPerson,kABPersonBirthdayProperty);
NSLog(@"Birthday:%@", tmpBirthday);
[tmpBirthdayrelease];
//获取的联系人单一属性:Note
NSString* tmpNote = (NSString*)ABRecordCopyValue(tmpPerson,kABPersonNoteProperty);
NSLog(@"Note:%@", tmpNote);
[tmpNoterelease];
//获取的联系人单一属性:Generic phone number
ABMultiValueRef tmpPhones =ABRecordCopyValue(tmpPerson,kABPersonPhoneProperty);
for(NSInteger j =0; j < ABMultiValueGetCount(tmpPhones); j++)
{
NSString* tmpPhoneIndex = (NSString*)ABMultiValueCopyValueAtIndex(tmpPhones, j);
NSLog(@"tmpPhoneIndex%d:%@", j, tmpPhoneIndex);
[tmpPhoneIndexrelease];
}
CFRelease(tmpPhones);
}
//释放内存
[tmpPeoplesrelease];
CFRelease(tmpAddressBook);
}