MacBook Pro 上 macOS 安装第三方应用报错解决方案
------ 彻底搞定「无法打开"XXX",因为 Apple 无法检查其是否包含恶意软件」
适用系统:macOS Catalina 10.15 及之后所有版本(Monterey、Ventura、Sonoma 等)
适用机型:Intel / Apple Silicon 全系 MacBook Pro

文章目录
- [**MacBook Pro 上 macOS 安装第三方应用报错解决方案**](#MacBook Pro 上 macOS 安装第三方应用报错解决方案)
-
- [------ 彻底搞定「无法打开"XXX",因为 Apple 无法检查其是否包含恶意软件」](#—— 彻底搞定「无法打开“XXX”,因为 Apple 无法检查其是否包含恶意软件」)
- [1 错误场景复现](#1 错误场景复现)
- [2 Gatekeeper & Notarization 工作机制](#2 Gatekeeper & Notarization 工作机制)
- [3 五种解决办法(按推荐顺序)](#3 五种解决办法(按推荐顺序))
-
- [方法 1 --- Finder 右键 → 打开(最简单,单次绕过)](#方法 1 — Finder 右键 → 打开(最简单,单次绕过))
- [方法 2 --- 系统设置中点击 **"仍要打开 / Open Anyway"**](#方法 2 — 系统设置中点击 “仍要打开 / Open Anyway”)
- [方法 3 --- 去除隔离属性 `com.apple.quarantine`(精确到单个文件)](#方法 3 — 去除隔离属性
com.apple.quarantine
(精确到单个文件)) - [方法 4 --- 临时关闭 Gatekeeper(系统级,安装后务必再打开)](#方法 4 — 临时关闭 Gatekeeper(系统级,安装后务必再打开))
- [方法 5 --- 恢复模式下完全关闭 SIP & Gatekeeper(极端方案,不建议)](#方法 5 — 恢复模式下完全关闭 SIP & Gatekeeper(极端方案,不建议))
- [4 开发者视角:让你的 App 合规通过公证](#4 开发者视角:让你的 App 合规通过公证)
- [5 常见疑难排查清单](#5 常见疑难排查清单)
- [6 安全最佳实践](#6 安全最佳实践)
- [7 速查命令表](#7 速查命令表)
- 参考链接
1 错误场景复现
当你第一次双击某些 下载自互联网或 U 盘 的 .app
/.pkg
/.dmg
时,会出现一条系统弹窗:
"XXX "无法打开,因为 Apple 无法检查其是否包含恶意软件。
此软件需要更新。请与开发者联系以获得更多信息。
这是 Gatekeeper 在阻止一个未通过 Apple 公证的可执行文件运行。自 2019 年 macOS Catalina 起,所有第三方 App 若未完成开发者签名 + Notarization 流程,都会触发这条提示。
2 Gatekeeper & Notarization 工作机制
组件 | 作用 |
---|---|
Gatekeeper | macOS 的强制执行安全策略,默认只允许运行 Mac App Store 或 "已公证的已识别开发者 (identified developer)" 的软件。 |
Developer ID | 为第三方开发者颁发的代码签名证书。 |
Notarization 公证服务 | 开发者将签名后的软件上传到 Apple 服务器,Apple 进行自动扫描(恶意软件、漏洞等)。审核通过后返回一个公证票据 (notarization ticket),开发者将其"钉住"(staple) 在 App 内部。 |
如果缺少以上任意一步,Gatekeeper 在第一次运行时就会拦截,并显示本文的报错弹窗。
3 五种解决办法(按推荐顺序)
⚠️ 风险提示:方法 3--5 会降低系统安全等级或完全绕过 Gatekeeper,仅在完全信任软件来源时使用。完成安装后请务必恢复默认设置。
方法 1 --- Finder 右键 → 打开(最简单,单次绕过)
- 在 Finder › 应用程序 找到要安装的
.app
。 - 按 ⌃ Control + 点击 (或右键)选择 打开。
- 弹窗会再次出现,但此时多了 "仍要打开" 按钮;点击即可。
- 系统会把此 App 记为可信,之后双击可直接运行,不再提示。
方法 2 --- 系统设置中点击 "仍要打开 / Open Anyway"
macOS Ventura 及之后: > 系统设置 System Settings › 隐私与安全 Privacy & Security
macOS Monterey 及之前: > 系统偏好设置 System Preferences › 安全性与隐私 Security & Privacy
- 保持弹窗界面或刚刚尝试过打开 App(按钮只保留约 1 小时)。
- 滚动到 安全 区域,看到"'XXX' 已被阻止使用,因为无法检查是否包含恶意软件"。
- 点击 仍要打开 / Open Anyway,输入密码确认即可。
方法 3 --- 去除隔离属性 com.apple.quarantine
(精确到单个文件)
bash
# 终端执行,替换路径为实际 App 的绝对路径
xattr -d com.apple.quarantine "/Applications/XXX.app"
xattr
会删除下载时自动打上的隔离标记,Gatekeeper 将不再校验该文件。
方法 4 --- 临时关闭 Gatekeeper(系统级,安装后务必再打开)
bash
sudo spctl --master-disable # 关闭
# 安装并首次运行完第三方 App 后
sudo spctl --master-enable # 重新启用
关闭后,"系统设置 › 隐私与安全 › 安全" 会出现 "任何来源 (Anywhere)" 选项,所有 App 均可直接运行。
方法 5 --- 恢复模式下完全关闭 SIP & Gatekeeper(极端方案,不建议)
-
关机后长按 电源键 进入 Recovery OS。
-
打开 终端 执行:
bashcsrutil disable # 关闭 SIP spctl kext-consent disable reboot
-
安装并验证 App 后,重启再次进入恢复模式:
bashcsrutil enable # 重新开启 SIP
仅在需要加载未签名内核扩展或驱动时考虑此方案。
4 开发者视角:让你的 App 合规通过公证
-
签名 :
bashcodesign --deep --options runtime \ --timestamp \ --sign "Developer ID Application: Your Team" \ MyApp.app
-
上传公证 (Xcode 15):
bashxcrun notarytool submit MyApp.app \ --keychain-profile "AC_PASSWORD" --wait
-
钉票据 :
bashxcrun stapler staple MyApp.app
-
验证 :
bashspctl --assess --type execute --verbose MyApp.app
公证通过后,用户首次打开时将不会再看到本文的报错弹窗。
5 常见疑难排查清单
症状 | 可能原因 | 处理思路 |
---|---|---|
"仍要打开"按钮不出现 | 距离上次尝试已超 1 小时 | 重新双击一次 App,刷新按钮计时 |
右键→打开仍失败 | App 被沙箱化损坏或缺失签名 | 重新下载,或联系开发者更新签名 |
修改 xattr 后仍报警 |
.app 内部还有脚本/二进制被隔离 |
xattr -r -d com.apple.quarantine MyApp.app 递归删除 |
M 系列 Mac 启动闪退 | App 仅编译 x86-64,需安装 Rosetta 2 | softwareupdate --install-rosetta --agree-to-license |
6 安全最佳实践
- 优先来源:App Store > 签名+公证应用 > 无签名应用。
- 一次性放行 胜过全局关闭 Gatekeeper。
- 安装完毕马上 重新启用 Gatekeeper / SIP。
- 对不常用但必须保留的无签名工具,可用
xattr
精确放行,而非关闭全球策略。
7 速查命令表
场景 | 命令 |
---|---|
单个 App 解除隔离 | xattr -d com.apple.quarantine "/路径/XXX.app" |
递归解除隔离 | xattr -r -d com.apple.quarantine "/路径/XXX.app" |
关闭 / 开启 Gatekeeper | sudo spctl --master-disable / sudo spctl --master-enable |
验证 App 是否已公证 | spctl --assess --type execute -v "/路径/XXX.app" |
参考链接
- Apple 官方文档:Safely open apps on your Mac
- Gatekeeper 隔离属性 FAQ(Super User)
- 终端关闭/恢复 Gatekeeper 经验贴(Reddit)
- Ventura/Sonoma UI 变化(MacWorld 2025.05)
结语
现在你已经掌握了 从普通用户到开发者 两个角色视角下,彻底解决「无法打开,因为 Apple 无法检查其是否包含恶意软件」的全部方法。
建议 :优先使用方法 1 或 2 进行单次放行;方法 3 仅对可信应用文件;方法 4--5 需在充分了解风险后再执行。
把这篇速查手册收藏起来,下次再遇到 Gatekeeper 报错,就可以 1 分钟内搞定!祝你使用愉快,安全第一。