macOS Mojave 無法執行未簽名程式的解決方案
阿新 • • 發佈:2019-03-10
有時候我們即使安裝了一些來源奇怪的軟體,也無法執行。使用終端執行則有如下提示:
LSOpenURLsWithRole() failed with error -10810 for the file /Applications/xxx.app.
這是因為 Mojave 引入了新的簽名校驗機制。需要重新簽名:
$ codesign --sign - --force --deep /Applications/xxx.app /Applications/xxx.app: replacing existing signature
如果包內有其他 app,還需要單獨執行:
$ codesign --sign - --force --deep /Applications/xxx.app/Contents/path/to/inside.app
有些 app 依賴於開發者工具包,需先安裝 Xcode,再執行:
$ xcode-select --install
有些 dmg 裡真正的安裝包是隱藏的,可以通過以下命令在 finder 裡顯示隱藏資料夾:
$ defaults write com.apple.finder AppleShowAllFiles Yes && killall Finder
複製隱藏檔案後文件仍然是隱藏的,通過以下命令取消隱藏和其他屬性:
$ chflags nohidden /path/to/hidden.file
$ xattr -cr /path/to/