ABAddressBookRef addressBookRef = ABAddressBookCreate();
ABRecordRef contactRef;
NSArray *abContacts = (NSArray *)CFBridgingRelease(ABAddressBookCopyArrayOfAllPeople(addressBookRef));
for (id abContact in abContacts)
{
contactRef = (__bridge ABRecordRef)abContact;
CFTypeRef numbersRef = ABRecordCopyValue(contactRef, kABPersonPhoneProperty);
if(!numbersRef)
return;
for (int i = 0; i < ABMultiValueGetCount(numbersRef); i++)
{
CFStringRef numberRef = ABMultiValueCopyValueAtIndex(numbersRef, i);
if(!numberRef)
continue;
NSString *number = [ContactManager getNumberFromABNumber:numberRef];
if([number length])
{
if ([contact.pNumber isEqualToString:number]) {
bAddressBook = YES;
}
}
}
if(numbersRef)
CFRelease(numbersRef);
}