Mac Catalina 安装部分App提示损坏的解决方法

基于公司要求,需要更新办公电脑的系统,于是前两天进行了更新

今天使用的时候有个常用的app提示更新,于是去官网下载最新版安装,安装后提示

"xxx" is damaged and can't be opened. You should move it to trash. (xxx 已损坏, 无法打开 你应当把它移到垃圾桶)

解决方案留档记录在此

这个问题原因是这个app的来源不是认证的开发者(很多开源软件都是这样),而目前Mac的Gatekeeper会默认阻止这样的应用安装

在系统设置的 Security & Privacy => General下,有一项Allow apps download from:
这里有App Store, App Store and identified developers, 和 Anywhere三个选项

其中Anywhere可能不存在

这种情况下直接在Terminal执行sudo spctl --master-disable 并输入密码即可,这个命令会暂时关闭Gatekeeper,然后会发现Anywhere已经出现并选中了,之后重启并正常安装app即可

但是这个方法并不能解决我的问题,我的情况是anywhere已经出现并选中了(因为之前更新系统时已经执行过上面的操作),但是仍然提示损坏 

这个原因我猜测是Mac每次更新后启用Gatekeeper,但是对应的来源设置没有同步变化,这时候执行上面的操作就无效了,所以我们要做的就是还原最初的状态并重新操作,具体步骤是:

1、Security & Privacy => General里的选项改为App Store(或者第二个也行)
2、重启
3、执行sudo spctl --master-disable 
4、再次重启
5、正常安装

关键操作就是还原最初的默认设置,经过测试,每次升级都要这样做,很多教程里说的执行3、4两步至少在我的机器上是无效的

评论

此博客中的热门博文

重开博客纪念

2021 Linux与微信

Linux中快速创建测试用的Debian虚拟机