Mac双击下载的App弹出“已损坏”等提示是因quarantine属性触发安全拦截;可临时按Ctrl+右键选“打开”并点“仍要打开”,或永久用xattr -d com.apple.quarantine清除该属性,批量清理执行find命令,彻底关闭需defaults write禁用并重启。

Mac每次双击从网页下载的App(如DMG挂载后的.app、独立可执行文件)时,都会卡在“已损坏”“无法验证开发者”或“你要允许此应用吗”灰色弹窗,必须手动点“仍要打开”才能启动——这是系统对互联网来源文件施加的quarantine隔离属性触发的安全拦截,需针对性清除该属性才能静默启动。
临时绕过单个程序的检疫警告
按住Control键不放,再点击该可执行程序图标呼出右键菜单。
从菜单中选择「打开」(不是“显示简介”或“在终端中打开”)。
弹窗出现后,必须点击右下角的「仍要打开」——【点“取消”不会注册信任,下次双击仍会弹窗】。
永久移除单个可执行程序的检疫属性
方法一:拖拽式(推荐新手,零输错路径风险)
打开“终端” → 输入 xattr -d com.apple.quarantine 后留一个空格 → 直接把该可执行程序(如 ~/Downloads/MyTool 或 /Applications/Notion.app)从访达窗口拖进终端 → 松手,路径自动补全 → 按回车执行。
方法二:命令行定位(适合熟悉路径结构的用户)
若程序在“下载”文件夹,且文件名为 MyApp(无扩展名),则输入:xattr -d com.apple.quarantine ~/Downloads/MyApp
若含空格,必须用引号包裹路径,例如:xattr -d com.apple.quarantine "~/Downloads/My App"
执行成功后无需重启,立即双击即可运行。注意:此操作只清除文件本身的quarantine元数据,不修改代码签名;若该程序本身未签名且Gatekeeper仍启用,后续可能被二次拦截——此时需配合全局禁用或确认其来源可信。
批量清理下载目录下所有可执行文件的检疫标记
第一步:打开终端,粘贴并执行以下命令:find ~/Downloads -type f -perm +111 -exec xattr -d com.apple.quarantine {} \;
第二步:等待命令完成(小文件夹秒级,大量文件可能需数秒)——该命令仅作用于具有执行权限(+111)的普通文件,不会误伤文档、图片等非可执行类型。
第三步:此后新下载到“下载”文件夹的Shell脚本、Python可执行包、自制工具等,只要未被Gatekeeper额外拦截,双击即可直接运行。
彻底关闭全系统检疫警告(适用于高可信环境)
打开终端,执行:defaults write com.apple.LaunchServices LSQuarantine -bool NO
【执行后必须重启Mac,否则不生效】
重启完成后,所有从网络下载的文件(包括可执行程序、Shell脚本、.command文件、.app包)双击时均不再触发“已下载来自互联网”的检疫弹窗。

















