刚用 macOS 的小伙伴或者在更新某个系统版本后运行 App 会提示【xxx已损坏,无法打开,你应该将它移到废纸篓解决办法】
常见的几种报错
- xxx已损坏,无法打开,你应该将它移到废纸篓
- 打不开 xxx,因为它来自身份不明的开发者
- 打不开xxxx,因为 Apple 无法检查其是否包含恶意软件
- 在安装的时候提示加载失败
为什么会出现?
这是 macOS 启用了新的安全机制的问题。
苹果默认是只允许安装自家【App Store】来源的应用,如果你想安装第三方的应用,那么需要在【系统偏好设置 -> 安全性与隐私 -> 通用】中勾选【App Store 和被认可的开发者】选项。而被认可的开发者是需要购买苹果的企业证书对应用进行签名,然后再提交给苹果审核才可以,这对破解应用来说很不现实,因为破解应用必定会修改应用的文件从而导致签名失效而运行显示【已损坏】。另外一些开源免费类应用没有收益(用户主动打赏太难了),所以开发者一般也不会购买证书签名。
解决方法就是去开启【任何来源】选项了。但是 macOS 默认是隐藏了这个设置的。需要用户手动通过终端执行命令行代码来开启。
下面就让 FcpxBox.com 教大家使用命令行代码开启隐藏的任何来源选项。
开启任何来源(主要)
先打开 系统偏好设置 -> 安全与隐私 -> 通用
选项卡,检查是否已经启用了 任何来源
选项。
如果没有这个选项,先双击安装包,在弹出的页面点击 好
再看 系统偏好设置 -> 安全与隐私 -> 通用
选项卡,出现了 仍要打开
选项。点击它
安装包弹出 ”macOS无法验证开发者。您确定要打开它吗?“ 页面里,点击 打开
到这里一般情况下 80% 的应用都可以安装运行了。如果上述方法没解决,复制以下面的命令:
sudo spctl --master-disable
打开终端
:
将刚刚复制的命令粘贴到终端中。
然后按下键盘的回车键(return),输入密码
重启下电脑。恭喜您,您已成功开启任何来源
。
到这里一般情况下 85% 的应用都可以安装运行了。
然而有的应用开启了任何来源还是不行,显示「已损坏」。这是因为苹果进一步收缩了对未签名应用的权限,这时候就需要过终端执行命令行代码来绕过应用签名认证啦。下面 FcpxBox.com 就教大家通过命令绕过苹果的公证 Gatekeeper。
来,让我们继续往下看。
绕过公证(扩展)
打开终端,输入以下命令:
sudo xattr -rd com.apple.quarantine /Applications/xxxxxx.app
将上面的 xxxxxx
.app 换成你的App名称,比如 Sketch.app
sudo xattr -rd com.apple.quarantine /Applications/Sketch.app
或者复制以下命令粘贴到终端后
sudo xattr -rd com.apple.quarantine
打开Finder(访达),点击左侧的 应用程序
,将应用拖进终端中,然后按键盘的回车键(return),输入密码,再按回车键,完成。
注意
quarantine
后面必须有个空格
好了再看一下是不是可以打开APP了!到这里一般情况下 90% 的应用都可以安装运行了(在 FcpxBox 下载安装的几乎不会有这种情况)
请先
!