本质是Gatekeeper拦截未签名/未公证应用;推荐先右键“打开”并点“打开”临时放行,或用xattr命令清除quarantine属性,全局禁用(spctl --master-disable)仅限可信环境。

在Mac上通过访达双击安装.app文件时提示“已损坏,无法打开”或“无法验证开发者”,本质是系统阻止了未签名/未公证应用的运行,这是macOS Gatekeeper机制的默认防护行为。
确认应用来源与签名状态
右键点击该.app文件 → 选择“显示简介” → 展开“通用”部分 → 查看“已锁定”是否勾选(若勾选先取消)→ 观察“来自:”字段:【若显示“未知开发者”或为空,说明未通过Apple公证;若显示“已验证的开发者”,但依然被拒,则极可能是公证链失效或本地缓存异常】。
这一步不能跳过——盲目绕过权限可能导致后续安装失败或安全风险。
临时允许单个应用运行(推荐首次尝试)
按住Control键,再点击该.app文件 → 在弹出菜单中选择“打开” → 点击对话框中的“打开”按钮。
此操作仅对当前文件生效,不更改系统设置,且会将该应用加入已信任列表。Gatekeeper只拦截首次运行,第二次起可直接双击启动。
全局关闭Gatekeeper(仅限可信环境)
方法一:终端命令强制放行
打开“终端” → 输入以下命令并回车:xattr -rd com.apple.quarantine /path/to/YourApp.app
将 /path/to/YourApp.app 替换为实际路径(可直接把.app文件拖入终端自动生成路径)。
方法二:彻底禁用验证(不推荐)
在终端中执行:sudo spctl --master-disable
输入管理员密码后回车 → 此时“系统设置→隐私与安全性→安全性”中会显示“已关闭”选项。【执行后需重启访达:按住Option键右键Dock中的访达图标→选择“重新开启”】。
从系统层面重置公证信任缓存
第一步:清除本地公证数据库
在终端中依次执行:sudo rm -rf /var/db/crls/*sudo rm -rf /var/db/csc/*
第二步:刷新系统信任链sudo pkill -f trustd
这会强制系统在下次验证时重新下载并校验Apple的公证服务器证书,解决因本地缓存过期导致的误拦问题。
第三步:重启Mac → 再次尝试双击安装。

















