忙碌半天下载到想用的软件,却遇到 Mac 提示应用程序“已损坏”无法打开,这时先别急着拖进废纸篓,因为不一定真坏了!
或者
解决Mac应用程序包无法打开或文件损坏的方法
在大多数情况下,这是 Mac 自身的安全设置“太负责”了。通常,只需简单启用一下“允许任何来源”就能解决。这篇教程就一步步详解如何处理上述问题,并针对不同系统版本分别讲解,让你轻松绕过这层关卡。
解决方案
要一劳永逸地解决这个问题,就需要在 macOS 的系统设置里允许“任何来源”的程序。具体操作步骤如下:
至此,操作完成,大门敞开,再次打开那些下载回来的应用程序包试试,畅通无阻!
疑难一:没有“任何来源”选项
如果你使用的是 Apple Silicon 的 M1/M2/M3 芯片 Mac,或者操作系统是 macOS Monterey(12.x)或更新版本(如 Ventura、Sonoma),在“安全性与隐私”设置中,“任何来源”这个选项默认可能是隐藏的!
别慌,我们可以借助终端(Terminal)来开启它:
打开 “终端” 应用(可以在“启动台 -> 其他”文件夹找到,或者用 Spotlight 搜索 Terminal)。
将以下命令精准地复制粘贴进终端窗口:sudo spctl --master-disable
按下回车(Return / Enter)键执行命令。
终端会要求你输入管理员密码。输入时,光标不会移动也不会显示星号,输完后直接再按回车。
命令执行没有错误提示即表示成功。
现在,重新打开“系统设置” -> “隐私与安全性” -> “通用”,就能看到并选中“任何来源”选项了。
疑难二:清除隔离属性
有时候,即使你已经开启了“任何来源”,在 macOS Catalina(10.15)或更新版本上尝试打开某些应用时,依然可能失败,或者继续提示“已损坏”。
这往往是因为系统在后台给下载的应用添加了一个特殊的隔离属性(quarantine attribute),你看不到,但它却被“罩”着。
我们需要手动移除这个属性:
确保你的应用程序位于“应用程序”(Applications)文件夹里。
再次打开“终端”应用。
输入以下命令:sudo xattr -d com.apple.quarantine /Applications/你的应用名字.app
或者输入sudo xattr -d com.apple.quarantine直接把应用拖进终端就有程序路径了
按下回车键(Enter)执行。
同样,根据提示输入你的管理员密码(输密码时无显示),输完回车确认。
成功执行后不会有明显的提示。
此时,再去双击尝试打开那个应用程序,就可以成功运行了。