签名过期导致MacOS提示“已损坏”,实为Gatekeeper拒绝加载失效签名应用;可通过右键打开放行、清除quarantine并重签名,或更新至带有效签名的新版解决。

MacOS中提示“已损坏”但实际是签名过期,本质是系统拒绝加载失效签名的应用——它没坏,只是不被信任了。这类问题常见于老版本工具、未持续更新的破解软件或自建打包应用,解决核心在于绕过签名验证或重建可信签名链。
确认是不是签名过期导致的
先别急着操作,用终端快速验证:
- 打开终端,输入:xattr -l /Applications/你的应用.app(把“你的应用.app”换成真实路径)
- 如果输出里有 com.apple.quarantine,说明是下载隔离导致,不是签名问题
- 如果没 quarantine,但运行时报“无法验证开发者”“证书已过期”或 codesign --verify 显示 invalid signature,则基本确认是签名失效
临时绕过:右键打开 + 手动放行(最安全)
适用于单次使用、不想改系统设置的情况:
- 在访达中找到该应用,按住 Control 键点击图标
- 选“打开”,不是双击,也不是“显示简介”
- 弹窗中点“仍要打开” → 再点“打开”
- 成功后系统会将该应用加入临时白名单,后续双击即可启动
清除隔离属性 + 强制重签名(推荐给常用户)
签名过期时,仅清 quarantine 不够,必须重建签名才能通过 Gatekeeper 检查:
- 先清除隔离标记:sudo xattr -r -d com.apple.quarantine /Applications/你的应用.app
- 再执行重签名(需已安装 Xcode Command Line Tools):sudo codesign --force --deep --sign - /Applications/你的应用.app
- 命令无报错即成功;若提示“no identity found”,说明没装开发工具,先运行 xcode-select --install
检查并替换安装源(治本)
签名过期往往意味着软件长期未更新,存在兼容性与安全风险:
- 访问官网或 GitHub 页面,确认是否有新版发布(比如签名有效期通常为1–2年)
- 旧版 dmg 或 zip 文件可能被缓存,重新下载最新安装包,不要复用旧文件
- 部分工具(如 Homebrew Cask 安装的)可直接运行 brew reinstall 应用名 获取带新签名的版本
签名过期不是系统故障,而是苹果安全机制在起作用。手动放行能解燃眉之急,重签名适合本地调试,而换用新版才是长期可靠的做法。


















