Я пытаюсь найти номер телефона в адресной книге из своего приложения, и я был удивлен, что не нашел его. Дело в том, что я напечатал все номера моей адресной книги в консоли, к которой обращается мое приложение, и странно, что некоторые контакты отсутствуют, я сравнивал вывод с моей адресной книгой, их немного, но все же.
Вот как я получаю доступ к адресной книге:
ABAddressBookRef addressBook = ABAddressBookCreate();
NSArray *people = (NSArray *) ABAddressBookCopyArrayOfAllPeople(addressBook);
BOOL found = NO;
NSString *name;
int i = 0;
while (!found) {//Here I print all the contact info, name and phone number
ABRecordRef person = (ABRecordRef)[people objectAtIndex:i];
ABMultiValueRef multi = ABRecordCopyValue(person, kABPersonPhoneProperty);
NSLog(@"el telf: %@ y nombre %@",tempPhone2, [NSString stringWithFormat:@"%@ %@",ABRecordCopyValue(person, kABPersonFirstNameProperty) ? (NSString *)ABRecordCopyValue(person, kABPersonFirstNameProperty) : @"",ABRecordCopyValue(person, kABPersonLastNameProperty) ? (NSString *)ABRecordCopyValue(person, kABPersonLastNameProperty) : @""]);
if([[key objectForKey:@"phone"] isEqualToString:tempPhone2]){
found = YES;
}
}
Любая идея, почему я не получаю доступ ко всем контактам в моей адресной книге?
[EDIT] Самое странное, что когда я использую ABPeoplePickerNavigationController
, появляются эти отсутствующие контакты.