如何徹底解除安裝 Mac App(保留文件與訂閱)
結構單純的 App 拖進垃圾桶,通常就解除安裝得差不多了。VPN、驅動程式、虛擬化工具等軟體還會安裝輔助程式、系統延伸功能、登入項目或共享容器。解除安裝時要移除軟體本身,同時保住文件和其他 App 仍在使用的資料。
一般 App 的快速做法是:儲存工作並結束 App,打開 Finder › 應用程式,選擇 檔案 › 移到垃圾桶。先讓它留在垃圾桶,確認相關檔案、其他 App、裝置和同步都正常後再清空。只要 App 帶原廠解除安裝工具、驅動程式、系統延伸功能或背景服務,就先不要走這條捷徑。
先判斷:用 Finder 還是原廠解除安裝工具
VPN、防毒軟體、音訊驅動程式、虛擬化軟體、雲端同步用戶端、輸入裝置工具,以及帶系統延伸功能、特權輔助程式或授權元件的 App,都更適合交給原廠解除安裝工具,只有它知道停用延伸功能、卸載特權服務和清理安裝紀錄的完整順序,確認是一般獨立 App、原廠也沒有提供解除安裝流程時,才走 Finder 快速做法。
開始前匯出設定或本機資料,並檢查訂閱、裝置授權是否要另外解除。Apple 的解除安裝 App 說明也建議優先使用自帶解除安裝工具,並提醒刪除 App 不會取消訂閱,也不會刪除用它建立的文件。
App 仍在使用時
先正常結束,讓 App 儲存狀態並關閉資料庫。沒有回應時可用 Apple 選單 › 強制結束,但尚未儲存的內容可能遺失。Finder 仍顯示 App 正在使用時,重新開機後在重新開啟 App 前再試;問題持續時可依 Apple 的Finder 說明進入安全模式。反覆自動啟動的輔助行程,也表示應回頭找原廠解除安裝工具。
刪除 App、文件和訂閱是三件事
刪除 App 不會刪除它建立的文件,也不會取消訂閱。依照 Apple 的訂閱說明,App Store 訂閱要到 App Store › 姓名 › 帳號設定 › 訂閱項目 › 管理 另行取消;向原廠購買的訂閱則在原廠帳號處理。卸載前先備份並匯出唯一的專案、資料庫或設定。
應用程式套件只是其中一層
.app 是應用程式主體,執行後產生的偏好設定、快取、支援檔案和背景項目會寫到其他目錄。刪除應用程式套件不會帶走這些內容。
小型 App 可能只留下幾個偏好設定檔,瀏覽器、遊戲、開發工具和媒體 App 則可能留下數 GB。大小不能說明能否刪除,其中可能有快取,也可能有設定、專案、訊息、外掛和離線內容。
記住資源庫的位置,但不要只按位置刪除
在 Finder 中按住 Option 打開「前往」選單,可以進入個人「資源庫」。也可以使用「前往檔案夾」,Apple 的路徑說明介紹了兩種做法。常見位置有:
~/Library/Application Support/:支援資料,常是最大的殘留~/Library/Caches/:通常可以重建的快取~/Library/Preferences/:.plist設定檔~/Library/Containers/和~/Library/Group Containers/:沙盒資料與共享容器~/Library/HTTPStorages/:部分 App 的網站和網路儲存空間~/Library/Logs/:應用程式記錄~/Library/Saved Application State/:視窗和工作階段狀態~/Library/LaunchAgents/:登入後執行的背景代理
頂層 /Library 會影響所有使用者,不能按名稱批次移除。Apple 的 App Group 文件說明,群組容器可能被同一開發者的多個 App 和延伸功能共用,只有識別所有參與者並確認資料去向後,才考慮移除。
把 Bundle ID 當作身分證據
macOS 經常用 Bundle ID 命名檔案,比如 com.spotify.client。先取得識別碼:
osascript -e 'id of app "Spotify"'
mdls -name kMDItemCFBundleIdentifier -r /Applications/Spotify.app
再把 Bundle ID 和廠商名作為搜尋線索:
find ~/Library -maxdepth 4 \( -iname "*spotify*" -o -iname "*com.spotify*" \) -print 2>/dev/null
搜尋結果只是候選項目。逐項檢查內容、所屬 App 和用途。刪除偏好設定並非解除安裝必要步驟,還會讓以後重裝時無法沿用舊設定。占用很小時可以保留。
檢查登入項目與延伸功能
打開 Apple 選單 › 系統設定 › 一般 › 登入項目與延伸功能,檢查登入時開啟、背景活動和各類延伸功能。Apple 的設定說明列出目前控制項。一般登入項目可以先關閉測試,但系統延伸功能和驅動程式應由原廠流程停用。Apple 的系統延伸功能文件說明由所屬 App 停用並在需要時重新開機的流程。不要從 plist 檔名猜測所有者。
一套穩妥的手動解除安裝順序
- 匯出重要資料,確認近期備份可用
- 查看原廠說明。App 帶輔助程式、延伸功能、驅動程式或授權狀態時,使用原廠解除安裝工具
- 結束 App 及其可見輔助行程
- 簡單 App 先把
.app移到垃圾桶,再檢查與 Bundle ID 和廠商精確相符的檔案,區分快取、設定、專案、資料庫與共享容器 - 在 系統設定 › 一般 › 登入項目與延伸功能 中檢查登入項目,系統延伸功能仍交給原廠流程
- 依原廠要求或行程占用情況重新開機,再測試相關 App、檔案類型、裝置和同步
- 讓內容在垃圾桶保留一段驗證時間;誤刪時選擇 檔案 › 放回原處
- 確認無誤後再清空。Apple 的垃圾桶說明提醒,清空後會永久刪除內容
複雜產品請使用對應指南
- 在 Mac 上解除安裝 Google Chrome
- 在 Mac 上解除安裝 Docker Desktop
- 在 Mac 上解除安裝 Adobe Creative Cloud
- 在 Mac 上解除安裝 Microsoft Office
- 在 Mac 上解除安裝 Homebrew
解除安裝工具能減少搜尋,不能代替判斷
專門的解除安裝工具可以解析 Bundle ID,彙總可能相關的資源庫檔案。Mole 會先展示候選項目和大小,驗證路徑,再把一般檔案移到垃圾桶。它能減少搜尋工作,但不能取代原廠解除安裝工具,也不會自動刪除共享容器。
內部原理:發現不能變成刪除
Mole 命令列版與 Mac App 的實作彼此獨立,但都把解除安裝分成發現、檢查和確認執行。下面是 Mac App 的流程。
Bundle ID 只有符合反向網域名稱格式時才參與比對,避免異常輸入放大搜尋範圍。掃描器會讀取內嵌登入項目 Info.plist 中的識別碼,不從檔名猜測。
使用者批准計畫後,App 才結束目標程式並停止精確相符的輔助行程。啟動項目要先通過 PathGuard,DeletionExecutor 也會在移到垃圾桶前再次驗證每個 URL。不存在、受保護或被拒絕的路徑會明確記為略過。
值得記住的安全原則
系統整合軟體用原廠解除安裝工具。一般 App 先結束並把套件移到垃圾桶,再按 Bundle ID 和資料類型檢查殘留。文件、資料庫和群組容器在歸屬確認前保留,訂閱另行處理,驗證正常後才清空垃圾桶。找到路徑只是候選證據,不等於取得刪除權限。