macOS 提示客户端已损坏或无法验证怎么办?

macOS 打开代理客户端提示「已损坏,无法打开」「无法验证开发者」?这是系统对未签名应用的安全提示,并非文件真的损坏。本文给出正规的放行方法。

先说结论:「已损坏,无法打开」「无法验证开发者」是 macOS Gatekeeper 对未公证应用的拦截提示,文件本身没坏。正规放行:双击被拦之后,打开「系统设置 → 隐私与安全性」,页面下方会出现「仍要打开」,点它、输密码,以后不再提示。前提是安装包来自官方渠道。

两种提示对应两种处理

弹窗文字原因处理
无法验证开发者,是否打开应用有签名但未经苹果公证弹窗上点「取消」,再去隐私与安全性点「仍要打开」
已损坏,无法打开,应移到废纸篓下载时被打上隔离标记 + 未公证同上;「仍要打开」不出现时用下面的命令去掉标记
无法打开,因为它来自身份不明的开发者旧版 macOS 的同类提示右键应用 → 打开 → 再点一次「打开」

macOS 14 起「右键打开」对部分应用不再生效,统一走「隐私与安全性」入口最稳。

「仍要打开」不出现时

有时弹窗关掉后隐私与安全性里没有那一行,那是隔离标记(quarantine)本身把应用挡在了 Gatekeeper 之前。打开「终端」,把标记去掉:

xattr -d com.apple.quarantine "/Applications/Clash Verge.app"

把路径换成你的应用(Stash 是 Mac App Store 版本,不会遇到这个问题)。执行后再双击,就会走正常的「仍要打开」流程或直接打开。这条命令只清除下载来源标记,不改任何系统安全设置,比网上流传的 spctl --master-disable(关闭整个 Gatekeeper)安全得多——后者不建议用。

先确认三件事再放行

  1. 来源:只放行从官方网站或官方 GitHub Releases 下载的包,下载中心的 macOS 直链就是从官方发布渠道抓的;
  2. 架构:Apple Silicon(M 系列)选 aarch64 / arm64 包,Intel 选 x64,装错架构也可能表现为打不开;
  3. 完整性:下载中断的 dmg 会真的损坏,文件大小和官方页面对不上就重下。

放行之后首次开 TUN 模式还会再弹一次「系统扩展」授权,那是另一件事,见TUN 模式开启失败。配置流程见 Clash Verge Rev 教程;Windows 端对应的打不开问题见Windows 客户端打不开。同类问题见网络问题排查 · 客户端与系统。

常见问题

提示「已损坏」是文件坏了吗?

通常不是。macOS 对从网络下载的未签名 / 未公证应用会加隔离标记并提示「已损坏」,是安全机制而非文件损坏。从官方渠道重新下载后按系统方式放行即可。

正确的放行方式是什么?

双击被拦后,到「系统设置 → 隐私与安全性」,找到被阻止的应用点「仍要打开」。这是苹果提供的正规放行入口。

该不该关闭系统安全设置?

不建议永久关闭 Gatekeeper。用「隐私与安全性」里的逐个放行更安全,只对你确认来自官方的应用放行。