MacOS xxx.app 已损坏,无法打开,你应该将它移到废纸篓 / 打不开 xxx,因为它来自身份不明的开发者解决方法

这篇博客介绍了如何在macOS上安装非AppStore来源的应用。首先,需要通过系统偏好设置开启‘任何来源’选项,如果隐藏则需通过终端命令行开启。若仍无法安装,可以通过终端命令绕过公证。如果仍然遇到问题,可以对应用进行本地签名。详细步骤包括安装CommandLineTools,然后使用codesign命令进行签名。博客还提供了遇到错误时的解决方法,并提供了相关资源链接。
摘要由CSDN通过智能技术生成

引言

macOS 启用了新的安全机制,默认是只允许安装自家【App Store】来源的应用,如果你想安装第三方的应用,那么需要在【系统偏好设置 -> 安全性与隐私 -> 通用】中开启【任何来源】选项,但是 macOS 默认是隐藏了这个设置的,需要用户手动通过终端执行命令行代码来开启。

开启任何来源

开启任何来源,先打开 系统偏好设置 -> 安全与隐私 -> 通用 选项卡,检查是否已经启用了 任何来源 选项。

任何来源

如果没有这个选项,复制以下面的命令:

sudo spctl --master-disable

打开终端,将刚刚复制的命令粘贴到终端中,然后按下键盘的回车键,输入密码。

回车后会看见个password后面还有个钥匙图标,在钥匙图标后面输入你自己电脑解锁密码(⚠️ 密码输入过程是不会显示)

再次打开 系统偏好设置 -> 安全与隐私 -> 通用 选项卡,可以看到,已成功开启任何来源。

任何来源

如果想关闭任何来源,执行如下代码:

sudo spctl --master-enable

到这里一般情况下 85% 的应用都可以安装运行了。

绕过公证

有的应用开启了任何来源还是报错,这是因为苹果进一步收缩了对未签名应用的权限,这时候就需要过终端执行命令行代码来绕过应用签名认证了。

打开终端,输入以下命令:

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 后面必须有个空格

到这里一般情况下 90% 的应用都可以安装运行了

应用签名

如果还不行,那就需要对应用进行本地签名操作了!

  1. 安装Command Line Tools 工具

打开终端工具输入如下命令:

xcode-select --install

弹出安装窗口后选择继续安装,安装过程需要几分钟,请耐心等待。

如果安装的时候提示“不能安装该软件,因为当前无法从软件更新服务器获得”,执行以下步骤:

a. 打开苹果开发者中心:https://developer.apple.com(苹果开发者中心的服务器不在国内,所以打开会很慢,耐心等待)

b. 点击顶部导航最右边的 Account,然后登录自己的 Apple ID

c. 打开开发者下载中心:https://developer.apple.com/download/more/

d. 搜索 command line tools(在搜索框中输入完要按一下回车键)

e. 选择适用于自己 macOS 系统的版本。

  • 10.15.x 可以下载 Command Line Tools for Xcode 11.4 及以上版本
  • 10.14.x 可以下载 Command Line Tools (macOS 10.14) for xxx,其中包含 macOS 10.14的。
  • 10.13.x 可以下载 Command Line Tools (macOS 10.13) for xxx,其中包含 macOS 10.13的。
  • xxxxx其它版同以此类推。

f. 下载完成后,安装一下,安装完成后就可以使用啦。

  1. 打开终端工具输入并执行如下命令对应用签名:
sudo codesign --force --deep --sign - (应用路径)

应用路径:打开访达(Finder),点击左侧导航栏的 应用程序,找到相关应用,将它拖进终端命令- 的后面,然后按下回车即可,注意最后一个 - 后面有一个空格。

正常情况下只有一行提示,即成功:

/文件位置 : replacing existing signature
如遇如下错误:
/文件位置 : replacing existing signature
/文件位置 : resource fork,Finder information,or similar detritus not allowed

先在终端执行:

xattr -cr /文件位置(直接将应用拖进去即可)

然后再次执行如下指令即可:

codesign --force --deep --sign - /文件位置(直接将应用拖进去即可)

我把解决方案写到了github page里,内容正在佛系更新中,点击此链接可以访问 https://salutegf.github.io/Salute_MacOS/#/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值