macOS軟件提示“已損壞,打不開”的解決方案
在使用 macOS 系統時,不少用戶都遇到過這樣的情況:當嘗試打開某個應用程序時,系統彈出提示“xxx 已損壞,打不開。您應該將它移到廢紙簍”,或者顯示“無法打開‘xxx’,因為無法確認開發者的身份”。這其實并不是軟件本身真的損壞了,而是 macOS 系統的權限機制和應用簽名策略在起作用。本文將詳細介紹如何解決這一問題。
一、問題原因分析
macOS 為了保證系統安全,引入了 Gatekeeper 機制和 應用簽名驗證:
- Gatekeeper:會檢查應用是否來自被認可的開發者或 Mac 應用商店
- 簽名驗證:應用需要經過蘋果官方公證或開發者簽名,否則系統會限制其運行
當應用未經過蘋果公證,或者從非官方渠道下載時,系統就會彈出此類安全提示。
二、解決方案
(一)簡單解決方法
對于部分應用,可嘗試通過右鍵菜單繞過初步驗證:
- 打開“訪達”,進入“應用程序”文件夾
- 找到無法打開的應用程序圖標,右鍵點擊
- 在彈出菜單中選擇“打開”,再次點擊“打開”確認
注意:此方法適用于部分應用,若無效可嘗試后續的簽名解決方法。
(二)簽名解決方法
1. 啟用“任何來源”選項
若系統未開啟“任何來源”選項,需先執行以下操作:
- 打開終端(路徑:啟動臺 → 其他 → 終端)
- 輸入命令并回車:
sudo spctl --master-disable
- 輸入系統密碼(輸入時不會顯示,輸入完成后回車)
2. 對應用進行簽名處理
通過終端命令移除應用的隔離屬性:
- 打開終端
- 輸入以下命令(注意命令末尾有一個空格):
sudo xattr -rd com.apple.quarantine
- 打開“訪達”,進入“應用程序”文件夾
- 將需要修復的應用程序圖標直接拖入終端窗口(此時終端會自動填充應用路徑)
- 回車執行命令,輸入系統密碼并回車
示例操作(以 Gas Station Simulator 為例):
命令執行后,系統會移除應用的 quarantine 標記,解除運行限制。
三、意外退出或閃退修復
若完成上述操作后應用仍意外退出或閃退,可嘗試以下方法:
(一)重置應用偏好設置
- 退出應用程序
- 打開終端,輸入命令:
defaults delete <應用Bundle Identifier>
(需替換為具體應用的 Bundle ID,例如defaults delete com.example.app
)
(二)修復磁盤權限
- 打開“磁盤工具”(路徑:啟動臺 → 其他 → 磁盤工具)
- 選擇系統磁盤,點擊“急救”按鈕
四、關閉系統完整性保護(SIP)
若上述方法均無效,可嘗試關閉 macOS 的系統完整性保護(SIP):
(一)操作步驟
- 重啟 Mac,按住
Command + R
直到出現蘋果logo,進入恢復模式 - 打開終端,輸入命令:
csrutil disable
- 重啟 Mac
(二)風險提示
- 關閉 SIP 會降低系統安全性,可能導致惡意軟件入侵
- 操作完成后建議重新啟用 SIP(命令:
csrutil enable
) - 僅在必要時使用此方法
五、總結
遇到 macOS 應用“已損壞”的提示時,無需急于刪除應用。通過啟用“任何來源”、手動簽名應用或調整系統權限,即可解決大多數此類問題。操作時需注意命令的準確性,關閉 SIP 等高危操作需謹慎執行。
通過以上方法,即可讓你的應用在 macOS 系統中正常運行。如果遇到其他問題,歡迎在評論區交流探討!