绝大多数情况并非文件真的损坏,而是gatekeeper因应用无有效签名或未公证而拦截;解决方式包括:1.右键“打开”一次性信任;2.在“隐私与安全性”中点“仍要打开”;3.用sudo xattr -r -d com.apple.quarantine清除隔离属性;4.执行sudo spctl --master-disable启用“任何来源”。
macos中提示“应用已损坏”或“无法验证开发者”,绝大多数情况并非文件真的损坏,而是系统安全机制在起作用。核心原因在于gatekeeper检测到该应用没有有效的苹果开发者签名,或虽有签名但未通过苹果公证(notarization),于是默认拦截。解决的关键不是修复证书本身,而是让系统信任这个应用——方式有临时放行、单次授权、或调整系统验证策略。
右键“打开”触发一次性信任
这是最安全、最推荐的首选方法,不改动系统设置,仅对当前应用生效:
- 在访达中找到该.app文件(如在“下载”或“应用程序”文件夹)
- 按住Control键不放,再点击应用图标,呼出右键菜单
- 选择菜单中的“打开”(注意不是“显示简介”或“打开方式”)
- 弹出警告框后,点击“仍要打开”
- 应用即可启动;此后系统将其标记为已信任,双击即可正常运行
在“隐私与安全性”中手动点“仍要打开”
当右键菜单未出现“打开”选项,或你已尝试右键但没看到确认弹窗时,说明系统已在设置页记录了拦截行为,可直接在此处放行:
- 点击左上角苹果图标 → “系统设置”(Ventura及更新系统)或“系统偏好设置”(Monterey及更早)
- 进入“隐私与安全性” → 滚动到“安全性”区域
- 查找类似“已阻止使用 [应用名],因为它来自未识别的开发者”的提示
- 点击右侧的“仍要打开”按钮
- 返回访达双击应用,即可启动
用终端清除隔离属性(精准修复)
很多“已损坏”提示其实源于系统自动添加的隔离标记(com.apple.quarantine),尤其常见于浏览器下载或跨设备传输的应用。清除该标记后,Gatekeeper不再视其为“可疑来源”:
- 打开终端(Spotlight搜“终端”)
- 输入命令:sudo xattr -r -d com.apple.quarantine /Applications/应用名.app
- 将“应用名.app”替换为实际名称,例如:sudo xattr -r -d com.apple.quarantine /Applications/Visual\ Studio\ Code.app
- 按回车,输入管理员密码(输入时无显示,输完直接回车)
- 执行完成后,直接双击应用即可
- 快捷技巧:输入命令后,在访达中把应用拖进终端窗口,路径会自动填充,避免手误
启用“任何来源”(适合高频安装第三方软件)
若你经常使用Homebrew、开发工具或开源软件,频繁点“仍要打开”较麻烦,可开启全局允许选项。注意:这会降低系统防护等级,请确保只安装可信来源的软件:
- 打开终端,输入:sudo spctl --master-disable,回车并输入密码
- 前往“系统设置 → 隐私与安全性 → 安全性”
- 点击左下角锁图标解锁,输入密码
- 在“允许从以下位置下载的App”中,选择“任何来源”
- 之后所有应用都可双击直接运行(但建议定期用 sudo spctl --master-enable 恢复默认保护)











