我遇到了 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 上正常工作,但在 iPhone 4 或 3 上不能正常工作;
我找不到任何说明 -1 值意味着什么的文档。我假设这是某种错误,但是什么?