我用下面的代码访问ABAddressBook:错误,同时访问ABAddressBook
+ (void)connectToAddressBook {
if(!_addressBook)
{
CFErrorRef error;
_addressBook = ABAddressBookCreateWithOptions(NULL, &error);
NSLog(@"Address book %@", _addressBook);
if (error != nil) {
NSLog(@"ERROR WHILE ACCESSING ADDRESS BOOK: %@", CFBridgingRelease(error));
CFRelease(error);
}
if (ABAddressBookGetAuthorizationStatus() == kABAuthorizationStatusNotDetermined) {
ABAddressBookRequestAccessWithCompletion(_addressBook, ^(bool granted, CFErrorRef error) {
_isAccessToContactsAllowed = granted;
});
}
else if (ABAddressBookGetAuthorizationStatus() == kABAuthorizationStatusAuthorized) {
_isAccessToContactsAllowed = YES;
}
else {
_isAccessToContactsAllowed = NO;
}
}
}
地址簿打开正常,但由于某种原因,误差不为零,并记录当前类的名称:
ERROR WHILE ACCESSING ADDRESS BOOK: MyContactManager
为什么错误不是零?我的代码有问题吗?在发生真正错误的情况下,如何检测并停止尝试访问地址簿?
检查什么错误,那么说? – Artrmz
http://stackoverflow.com/questions/19724995/my-contact-not-add-in-addressbook-in-ios-7 – ilesh
@Ilesh - 谢谢,*错误的作品。这很奇怪。这是一开始就是如此,但它打破了很多,所以我不得不重写它(有一个错误,调试器在试图登录时卡住了)。 – puzzler