<分区>
<分区>
目前我正在开发一个应用程序,它将使用设备通讯簿中可用的联系人。
我想通过获取联系人列表。地址簿,每个联系人旁边都有复选框选项。谁能告诉我该怎么做?
最佳答案
查看 ABAddressBook
框架。获取联系人列表作为数组并在 UItableview 中填充此列表,您可以使用 UITableViewCellAccessoryCheckmark
显示选定的联系人。
请参阅下面的代码。它返回一个包含联系人的数组。这里的 AddressObject 是模态类。
-(NSArray*)addressBookLoader
{
CFErrorRef *error = NULL;
NSMutableArray *arrayofAddressClassObjects =[[NSMutableArray alloc]init];
ABAddressBookRef addressBook = ABAddressBookCreateWithOptions(NULL,error);
ABRecordRef source = ABAddressBookCopyDefaultSource(addressBook);
CFArrayRef sortedPeople =ABAddressBookCopyArrayOfAllPeopleInSourceWithSortOrdering(addressBook, source, kABPersonSortByFirstName);
//RETRIEVING THE FIRST NAME AND PHONE NUMBER FROM THE ADDRESS BOOK
CFIndex number = CFArrayGetCount(sortedPeople);
NSString *firstName;
NSString *phoneNumber ;
for( int i=0;i<number;i++)
{
ABRecordRef person = CFArrayGetValueAtIndex(sortedPeople, i);
firstName = (__bridge NSString *)ABRecordCopyValue(person, kABPersonFirstNameProperty);
ABMultiValueRef phones = ABRecordCopyValue(person, kABPersonPhoneProperty);
phoneNumber = (__bridge NSString *) ABMultiValueCopyValueAtIndex(phones, 0);
if(phoneNumber != NULL)
{
AddressObject *obj = [[AddressObject alloc]init];
obj.contactName = firstName;
obj.contactNumber = phoneNumber;
[arrayofAddressClassObjects addObject:obj];
}
}
NSLog(@"x=%@",arrayofAddressClassObjects);
return arrayofAddressClassObjects;
}
关于iphone - 以编程方式访问 iOS 中的地址簿?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15495387/