Return to Snippet

Revision: 35176
at November 3, 2010 22:44 by dipak


Initial Code
-(void)retrieveContactList
{
	ABAddressBookRef myAddressBook = ABAddressBookCreate();
	NSArray *allPeople = (NSArray *)ABAddressBookCopyArrayOfAllPeople(myAddressBook);
	contactList = [[NSMutableArray alloc]initWithCapacity:[allPeople count]];
	for (id record in allPeople) {
        CFTypeRef phoneProperty = ABRecordCopyValue((ABRecordRef)record, kABPersonPhoneProperty);
        NSArray *phones = (NSArray *)ABMultiValueCopyArrayOfAllValues(phoneProperty);
		//NSLog(@"phones array: %@", phones);
        CFRelease(phoneProperty);
		NSString* contactName = (NSString *)ABRecordCopyCompositeName((ABRecordRef)record);
		
		NSMutableDictionary *newRecord = [[NSMutableDictionary alloc] init];
		[newRecord setObject:contactName forKey:@"name"];
		//[contactName release];
		NSMutableString *newPhone = [[NSMutableString alloc] init];
		for (NSString *phone in phones) {
        	//NSString *fieldData = [NSString stringWithFormat:@"%@: %@", contactName, phone];
			if(![newPhone isEqualToString:@""])
				[newPhone appendString:@", "];
			[newPhone appendString:phone];
		
        }
		[newRecord setObject:newPhone forKey:@"phone"];
		[newPhone release];
		[phones release];
		[contactList addObject:newRecord];
		//[newPhone release];
    }
	CFRelease(myAddressBook);
//	NSLog(@"Final data: %@", contactList);
}

Initial URL


Initial Description
Function to retrieve contact data from iPhone.

Initial Title
Using iPhone contact data

Initial Tags


Initial Language
Objective C