ABAddressBookGetPersonCount が -1 を返す状況に陥っています。テスターは、連絡先がアドレス帳に存在することを保証します。すべてのハンドセットは iOS 6.0.1 を実行しています。
コードは次のとおりです。
NSMutableDictionary *myAddressBook = [[NSMutableDictionary alloc] init];
ABAddressBookRef addressBook = ABAddressBookCreate();
CFArrayRef people = ABAddressBookCopyArrayOfAllPeople(addressBook);
int numEntries = ABAddressBookGetPersonCount(addressBook);
if (numEntries == 0)
{
NSString *title = NSLocalizedString(@"error", nil);
NSString *description = NSLocalizedString(@"error_empty_contacts", nil);
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:title
message:description
delegate:self
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alert show];
return;
}
NSLog(@"emails: found %d", numEntries);
私のハンドセットではこれを再現できませんが、テスターは 3 つのハンドセットで試しました。iPhone 5 では正常に動作しますが、4 または 3 では動作しません。
-1 の値が何を意味するかを示すドキュメントが見つかりません。なんらかのエラーだと思いますが、何か?