アプリのアドレス帳で電話番号を見つけようとしていますが、見つからないことに驚きました。問題は、アプリがアクセスするコンソールにアドレス帳のすべての番号を出力したところ、奇妙なことに連絡先の一部が欠落していることです。出力をアドレス帳と比較していましたが、ほんのわずかですが、それでも.
これは、私がアドレスブックにアクセスする方法です:
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
それらの行方不明の連絡先を使用すると表示されることです.