Jun 6, 2019
MacOS 出現 NSSQLiteErrorDomain 錯誤的解決辦法


原因
這是一個文件權限錯誤,我是在用 Time Machine 回復資料後,開啟行事曆時出現這個錯誤,也有可能會是其他原因導致錯誤。
解決方法
更新(2026): 原文連結的 Apple「修復磁碟權限」文章已下架,而且「修復權限」功能在 OS X El Capitan(2015)已由 SIP(系統完整性保護)取代並移除。以下是現行可行的步驟。
1. 清除行事曆快取
結束「行事曆」App,然後刪除快取檔案(建議先備份):
# 備份並移除 Calendar 快取
mv ~/Library/Calendars/Calendar\ Cache ~/Desktop/Calendar\ Cache.bak 2>/dev/null
rm -f ~/Library/Calendars/*.caches
重新啟動 Mac 後開啟「行事曆」測試。
2. 重置 App 權限
如果錯誤仍未解決,重置行事曆的隱私權限後再重新授權:
tccutil reset Calendar
3. 重建權限
對使用者家目錄重新套用 ACL 權限(針對 Time Machine 回復後的權限錯誤特別有效):
- 開啟「終端機」,執行
resetpassword(會開啟密碼重置工具)。 - 選擇使用者帳號,在重置選項中選「重設 Home 目錄權限與 ACL」。
- 完成後重新啟動。
如果以上方法都沒有解決,最後的手段才是重新安裝 macOS(不需要清除磁碟,重新安裝會保留個人資料)。
參考資料
Tags: