Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Get photos from Address book in iphone Application

Tags:

ios

iphone

I want to get contact name,photos from Addressbook in my iphone application. I am able to get contacts and store in to array.but now know how also get contacts photos.the code i am using is as follows.

ABAddressBookRef ab=ABAddressBookCreate();
NSArray *arrTemp=(NSArray *)ABAddressBookCopyArrayOfAllPeople(ab);  

arrContact=[[NSMutableArray alloc] init];
for (int i=0;i<[arrTemp count];i++) 
{
    NSMutableDictionary *dicContact=[[NSMutableDictionary alloc] init];
    NSString *str=(NSString *) ABRecordCopyValue([arrTemp objectAtIndex:i], kABPersonFirstNameProperty);
    @try 
    {
        [dicContact setObject:str forKey:@"name"];
    }
    @catch (NSException * e) {
        [dicContact release];
        continue;
    }
    [arrContact addObject:dicContact];
    NSLog(@"mohit inside the loop");
    [dicContact release];
}

I want to to get both contacts photo and name in that array(arrContacts) then display them in table. Please give me guideline. Thanks

like image 253
M.S.B Avatar asked Feb 28 '12 19:02

M.S.B


2 Answers

In ARC mode

 NSData  *imgData = (__bridge_transfer NSData *) ABPersonCopyImageDataWithFormat(record, kABPersonImageFormatThumbnail);

where record is the object of class

ABRecordRef

Hope this helps

like image 58
Radix Avatar answered Oct 05 '22 22:10

Radix


In iOS 4+ you can get the image with :

ABPersonCopyImageDataWithFormat(person, kABPersonImageFormatOriginalSize);

or

ABPersonCopyImageData(person);
like image 24
valexa Avatar answered Oct 05 '22 23:10

valexa