macOS Mojave 无法运行未签名程序的解决方案

原创
2019/03/10 15:59
阅读数 4.1K

有时候我们即使安装了一些来源奇怪的软件,也无法运行。使用终端运行则有如下提示:

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/hidden.file

如果在签名那一步遇到这个错误,十有八九是忘了取消文件的隐藏标志:

/Application/xxx.app: resource fork, Finder information, or similar detritus not allowed
展开阅读全文
打赏
0
1 收藏
分享
加载中
作者,你好!我是腾讯云+社区的小编,关注了您分享的技术文章,觉得很棒,我们诚挚邀请您加入云+社区,与我们众多的社区作者一起为开发者分享技术干货。这个是我们云+社区【腾讯云自媒体分享计划】入驻流程和权益介绍的地址:https://cloud.tencent.com/developer/support-plan。如果您愿意加入或者想了解更多的信息请联系我~微信:andreadat,我们对您的加入充满期待。
2019/10/31 19:58
回复
举报
更多评论
打赏
1 评论
1 收藏
0
分享
返回顶部
顶部