2014-10-06 75 views
2

我正嘗試從地址簿中加載幾個聯繫人。請求訪問地址簿時出現MachMessagePort錯誤

創建於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

我知道這已經差不多六個月了,但我記得我最終通過在設置>常規>重置中重置位置&隱私設置來解決問題,關閉應用程序設置中的聯繫人訪問,然後將其返回上。當它啓動時,它再次請求授權,之後它就起作用了。所以對於面臨同樣問題的其他人來說,這可能是一個快速解決方案。

如果有人能啓發我爲什麼這個工作,那會很好。