我正在尝试从地址簿中加载一些联系人。
我在viewDidLoad中创建地址簿并检查授权
if (!_addressBook) {
CFErrorRef error=NULL;
_addressBook=ABAddressBookCreateWithOptions(NULL, &error);
}
然后我以dealloc
发布它if (_addressBook) {
CFRelease(_addressBook);
_addressBook = NULL;
}
但我仍然收到以下错误。
Error, could not create MachMessagePort for database doctor (com.apple.ABDatabaseDoctor)
是由于内存分配,权限还是其他问题而导致的问题?
答案 0 :(得分:0)
我知道这已经晚了六个月,但我记得我最终只是通过重置位置来解决问题。设置中的隐私设置>一般>重置,关闭应用程序设置中的联系人访问权限,然后重新打开。当它启动时,它再次请求授权,之后它起作用。因此,对于面临同样问题的其他人来说,这可能是一个快速解决方案。
如果有人可以告诉我为什么这样有效,那就太好了。