Mac应用“已损坏”提示多因签名失效或quarantine标记,需先用xattr -l检查;若有com.apple.quarantine则仅需清除,否则用codesign --force --deep --sign -重签名,前提是装好Xcode命令行工具。

Mac上提示“应用已损坏”多数不是文件真坏了,而是签名失效、过期或被破坏导致Gatekeeper拒绝运行,手动修复签名就是用临时可信身份重新签一遍,让系统认可它可执行。
先确认是不是真要重签名
打开终端,运行:xattr -l /Applications/你的应用.app(把路径替换成真实路径)。
如果输出里有 com.apple.quarantine,说明只是被下载标记了,清掉它就能开,不用重签名。
如果没 quarantine,但运行时报“无法验证开发者”“证书已过期”,或执行 codesign --verify /Applications/你的应用.app 显示 invalid signature,那才是签名问题,需要重签。
装好签名工具(必须做)
重签名依赖 macOS 自带的 codesign 工具,但它需要 Xcode 命令行工具支持。
在终端中运行:xcode-select --install,按提示安装(通常弹窗点“安装”即可)。
装完后运行:codesign --version,能显示版本号就说明就绪。【没装好这一步,后面所有重签名命令都会报 no identity found】
清除隔离属性 + 强制重签名(推荐组合操作)
即使签名修复了,如果 quarantine 还在,Gatekeeper 仍可能拦截启动。所以建议两步一起做:
第一步:清除隔离属性——终端输入:sudo xattr -r -d com.apple.quarantine,然后把应用图标从访达拖进终端窗口(自动补全路径),回车→输管理员密码→再回车。
第二步:强制重签名——终端输入:sudo codesign --force --deep --sign -,同样把应用图标拖入终端补全路径,回车→输管理员密码→再回车。
这一步操作起来很简单,直接把文件拖进去就行;但注意命令末尾的短横线 - 是 ad-hoc 签名的关键符号,不能漏,也不能写成其他字符。
测试是否成功
完成上述操作后,回到访达,双击该应用图标。
如果不再弹出“已损坏”警告,而是正常启动并进入界面,说明修复已完成。










