macOS阻止运行未公证应用时,可通过三种方式解决:一、终端执行sudo spctl --master-disable启用“任何来源”;二、访达中Control+点击应用选择“打开”临时授权;三、用xattr -d com.apple.quarantine清除隔离属性。

如果您在MAC上尝试打开某个应用,但系统提示“无法打开身份不明的开发者”并阻止运行,则是因为macOS的安全策略默认限制了非App Store及未公证应用的执行。以下是解除该限制的具体操作步骤:
一、通过系统设置启用“允许任何来源”
macOS Ventura 13.0 及后续版本中,“允许任何来源”选项已从“安全性与隐私”面板移除,需通过终端命令重新启用该选项,从而绕过Gatekeeper对未签名或未公证应用的拦截。
1、点击屏幕左上角苹果图标,选择“系统设置”。
2、在左侧边栏滚动到底部,点击“隐私与安全性”。
3、向下滚动至“安全性”区域,找到“允许从以下位置下载的应用”选项。
4、若该选项呈灰色且不可选,说明当前未获得完全磁盘访问权限,需先为“终端”授权:返回“隐私与安全性”→点击左侧“完全磁盘访问”→点击右下角锁形图标输入管理员密码→点击“+”号→前往“应用程序”→选择“终端”并添加。
5、打开“终端”应用,在窗口中输入以下命令并回车:sudo spctl --master-disable。
6、输入您的管理员密码(输入时无显示,输完直接按回车)。
7、命令执行成功后,返回“隐私与安全性”页面,刷新界面,“允许从以下位置下载的应用”下方将出现“任何来源”选项,勾选即可。
二、针对单个应用临时绕过验证
当仅需运行某一个被拦截的应用而不想全局开放安全限制时,可通过访达右键菜单强制打开,该操作不更改系统级设置,仅对当前应用生效。
1、在“访达”中定位到该应用(如xxx.app)。
2、按住Control键,同时点击该应用图标,呼出快捷菜单。
3、在菜单中选择“打开”而非“双击”或“显示简介”。
4、弹出警告对话框后,点击“打开”按钮(非“取消”)。
5、该应用将启动,并被系统记录为已授权,此后可直接双击运行。
三、使用终端命令对指定应用进行隔离解除
Gatekeeper会为每个应用维护独立的隔离属性(com.apple.quarantine),通过xattr命令清除该属性,可使系统不再将其识别为“来自互联网的未知开发者应用”,适用于批量处理或脚本化操作。
1、打开“终端”应用。
2、输入cd 后拖拽目标应用所在的文件夹到终端窗口,回车进入该路径。
3、执行以下命令(将“AppName.app”替换为实际应用名称):xattr -d com.apple.quarantine AppName.app。
4、若提示“No such xattr”说明属性已被清除;若提示“Operation not permitted”,需先为终端授予“完全磁盘访问”权限(参见方法一第4步)。
5、完成后,双击该应用即可正常启动。









