Jun 6, 2019

MacOS 出現 NSSQLiteErrorDomain 錯誤的解決辦法

MacOS 出現 NSSQLiteErrorDomain 錯誤的解決辦法

wp-image-383

原因

這是一個文件權限錯誤,我是在用 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 回復後的權限錯誤特別有效):

  1. 開啟「終端機」,執行 resetpassword(會開啟密碼重置工具)。
  2. 選擇使用者帳號,在重置選項中選「重設 Home 目錄權限與 ACL」。
  3. 完成後重新啟動。

如果以上方法都沒有解決,最後的手段才是重新安裝 macOS(不需要清除磁碟,重新安裝會保留個人資料)。

參考資料

https://github.com/folivoraAI/BetterTouchTool/issues/2118

Tags: