Опитвам се да намеря телефонен номер в адресната книга от моето приложение и бях изненадан да не го намеря. Работата е там, че отпечатах всички номера на моята адресна книга в конзолата, достъпна от моето приложение, и странно някои от контактите липсват, сравнявах изхода с адресната си книга, малко са, но все пак.
Ето как влизам в адресната книга:
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;
}
}
Някаква идея защо нямам достъп до всички контакти в моята адресна книга?
[РЕДАКТИРАНЕ] Най-странното е, че когато използвам ABPeoplePickerNavigationController
се появяват тези липсващи контакти.