作為參考,我的 macOS 版本是 Sonoma 14.4.1
若 macOS 開啟應用出現 “<檔案名稱>已損毀,無法打開。你應該將其丟到「垃圾桶」。” ,通常是因為以下原因之一:
- 應用程式來自未受信任的來源。
- 應用未被正確簽名(如自編譯的應用或第三方未簽名的應用)。
- 應用在下載過程中損壞。
- Gatekeeper(macOS 的安全功能)攔截了該應用的啟動。
解決方法
按照下列方法的順序一個接一個試。
方法一、在隱私權與安全性設置強制打開
參考我之前發的這篇文章:macOS 無法打開檔案因為無法驗證開發者 解決方法
打開 設定 > 隱私權與安全性 往下拉會看到 「檔名」遭到阻擋無法使用,因為它不是來自已識別的開發者。
,點擊「強制打開」。
如果打開隱私權與安全性沒有看到這個提示,那就跳過這個方法,去試後面幾種解決方法。
強制打開後會多出「打開」的按鈕,點「打開」就可以成功開啟了。
方法二、允許來自任何來源的應用程式
如果你確定該應用程式是安全的,但仍然無法打開,可以考慮臨時禁用 Gatekeeper,允許所有來源的應用程式運行。具體操作如下:
打開 系統設定 > 隱私與安全性 > 安全性,在「允許從以下來源下載的應用程式」部分,檢查是否有「任何來源」的選項。
如果有,選擇「任何來源」:
如果沒有這個選項,需要打開 terminal 輸入以下命令,臨時禁用 Gatekeeper:
sudo spctl --master-disable
執行完該命令後,打開 系統設定 > 隱私與安全性,應該會看到「任何來源」選項已啟用。
為了確保系統安全,在安裝並運行應用程式後,建議使用下方命令重新啟用 Gatekeeper:
sudo spctl --master-enable
方法三、解除應用的隔離標記
macOS 會對從網路下載的應用加上「隔離標記」,導致無法啟動應用。可以用 xattr
命令來移除這個標記。
一樣打開 terminal 輸入以下命令(先別急著執行),接著打開 Finder 找到剛剛下載的應用,將應用直接從 Finder 拖移到 terminal 中,命令後方就會直接帶入應用的路徑
sudo xattr -rd com.apple.quarantine
拖移應用至 terminal 後的命令會像這樣,這時候再執行命令:
sudo xattr -rd com.apple.quarantine /Applications/LINE.app