Get information from iPhone address book (only with emails)

by alex 10. March 2009 07:54

 //Also you need to include AddressBook.framework

#import <AddressBook/AddressBook.h>

#import <AddressBook/ABAddressBook.h>

#import <AddressBook/ABPerson.h>

 

[contactList removeAllObjects];

// open the default address book. 

ABAddressBookRef m_addressbook = ABAddressBookCreate();

if (!m_addressbook) {

    NSLog(@"opening address book");

}

// can be cast to NSArray, toll-free

CFArrayRef allPeople = ABAddressBookCopyArrayOfAllPeople(m_addressbook);

CFIndex nPeople = ABAddressBookGetPersonCount(m_addressbook);

// CFStrings can be cast to NSString!

for (int i=0;i < nPeople;i++) { 

MContact *contact = [[MContact alloc] init];

ABRecordRef ref = CFArrayGetValueAtIndex(allPeople,i);

CFStringRef firstName, lastName;

firstName = ABRecordCopyValue(ref, kABPersonFirstNameProperty);

lastName  = ABRecordCopyValue(ref, kABPersonLastNameProperty);

contact.name = [NSString stringWithFormat:@"%@ %@", firstName, lastName];

 

ABMutableMultiValueRef eMail  = ABRecordCopyValue(ref, kABPersonEmailProperty);

if(ABMultiValueGetCount(eMail) > 0) {

contact.email =  (NSString *)ABMultiValueCopyValueAtIndex(eMail, 0);

[contactList addObject:contact];

}

CFRelease(ref);

CFRelease(firstName);

CFRelease(lastName);

}


Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

General

Comments

Powered by BlogEngine.NET 1.4.5.0
Theme by Mads Kristensen