вы можете загрузить записи адресной книги в массив NSMutable с помощью этой процедуры, а затем вы можете делать все, что вы хотите в своем приложении:
-(NSMutableArray*)loadContactsFromAddressBook{
NSMutableArray * contacts = [[NSMutableArray alloc] init];
ABAddressBookRef addressBook = ABAddressBookCreate( );
CFArrayRef allPeople = ABAddressBookCopyArrayOfAllPeople( addressBook );
CFIndex nPeople = ABAddressBookGetPersonCount( addressBook );
for ( int i = 0; i < nPeople; i++ )
{
ABRecordRef ref = CFArrayGetValueAtIndex( allPeople, i );
NSString *fname = (NSString*)ABRecordCopyValue(ref, kABPersonFirstNameProperty);
NSString *lname = (NSString*)ABRecordCopyValue(ref, kABPersonLastNameProperty);
NSString *name;
NSString* phoneNumber;
if (lname) {
name = [fname stringByAppendingFormat: @" %@", lname];
} else {
name = fname;
}
ABMultiValueRef phoneNumbers = ABRecordCopyValue(ref, kABPersonPhoneProperty);
int count = ABMultiValueGetCount(phoneNumbers);
if (count > 0 && name) {
phoneNumber = (NSString*)ABMultiValueCopyValueAtIndex(phoneNumbers, 0);
[contacts addObject:[NSMutableDictionary dictionaryWithObjectsAndKeys:name, @"member_name",
phoneNumber, @"phone",
@"NO", @"invited",
nil] ] ;
}
NSSortDescriptor *aSortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"member_name" ascending:YES];
[contacts sortUsingDescriptors:[NSArray arrayWithObject:aSortDescriptor]];
}
return [contacts autorelease];
}
вам нужно добавить AddressBook.framework и AddressBookUI.framework в ваш проект и импортируйте файл AddressBook / AddressBook.h в класс, в котором вы используете этот метод.
Надеюсь, это поможет.