Lazy loaded image
🗒️产品指南丨解决Mac打开APP提示“文件已损坏”
字数 2619阅读时长≈ 7 分钟
2025-1-21
2025-5-15

前言

在下载网上的软件安装包,打开软件的时候可能会遇到下面这些情况:
  • “应用程序” 已损坏,无法打开。你应该推出磁盘映像。
  • “应用程序” 已损坏,无法打开。您应该将它移到废纸篓。
  • 无法打开 “应用程序”,因为它来自身份不明的开发者。
  • 无法打开 “应用程序”,因为 Apple 无法检查其是否包含恶意软件。
  • Apple无法验证“应用程序”是否包含可能危害Mac安全或泄露隐私的恶意软件。
notion image

解决方法1:设置里手动允许

打开设置-隐私与安全性,找到安全性选项,点击仍要打开,输入密码即可
notion image
notion image
notion image

解决方法2:移除隔离属性

💡
在 macOS 中,如果一个应用程序通过不受信任的途径(比如从网络下载或者非 Mac App Store 安装)被获取,系统会给它添加 com.apple.quarantine 属性。这个标记用于通知操作系统该文件可能来自不可信的来源,需要用户确认后才能执行,移除这个属性意味着取消文件或应用的“隔离”状态,允许用户直接运行应用而不会出现警告。
打开终端,运行以下命令
(把/Applications/Application.app替换成对应路径和app名字,也可以直接从Finder里拖拽进去终端,会自动填充)
命令解析
  • sudo:“superuser do” 的缩写,用于以超级用户(root 用户)身份执行命令。 修改文件系统或应用程序的属性需要较高的权限,执行命令的时候系统会要求输入管理员密码。
  • xattr: 一个用于操作文件或目录的扩展属性的命令。 扩展属性是附加在文件上的元数据(除了基本的文件内容和文件名外的信息)。
  • -dr:-d是 xattr 命令的一个选项,表示删除扩展属性。后面跟着要删除的属性名称。-r是递归选项,表示删除指定目录及其所有子文件和子目录上的扩展属性。 在这个命令中,表示会对整个 / Applications / Application.app 应用程序目录及其中的所有内容进行递归删除操作。
  • com.apple.quarantine: 是一个特殊的扩展属性,用来标记文件或应用程序是否处于“隔离”状态。
  • /Applications/Application.app:这是目标应用程序的路径。 /Applications 是 macOS 系统中常见的应用程序存放目录 Application.app 是你要操作的应用程序。

解决方法3:右键打开

在Finder中找到App文件,按住⌥ option键,然后右击文件,然后在弹出的菜单中点击打开。

解决方法4:禁用 Gatekeeper

打开终端,输入以下命令并按回车(这将禁用Gatekeeper安全机制。慎用)
建议打开软件之后重新启用Gatekeeper
打开终端,输入一下命令并按回车

解决方法5:本地签名

这条命令以管理员权限运行,强制递归签名指令应用程序及其所有文件,使用本地自签名证书(无特定开发者证书)。这个步骤通常在修改应用程序后进行,以确保它能够正常运行而不会被系统阻止。
命令详解
  • sudo:以超级用户(管理员)权限运行命令。这通常是因为你需要修改系统或应用程序文件,而这些操作通常需要管理员权限。
  • codesign:这是 macOS 上用于给代码(如应用程序、脚本)签名的命令行工具。签名是为了确保代码的完整性和来源可信。
  • --force:强制重新签名,即使应用程序之前已经有签名,这个选项也会覆盖原有的签名。
  • --deep:递归签名。这个选项表示不仅要签名应用程序的主可执行文件,还要签名应用程序包中的所有组件(如框架、插件、辅助工具等)。这个选项通常用于处理复杂的应用程序包。
  • --sign:这个选项指定签名时使用的证书。
  • -:使用 - 表示使用自签名,这种方式不会使用特定的开发者证书,而是由系统为该应用程序生成一个本地信任的签名。这个签名对于系统来说是可信的,但不能用于发布给其他用户。
  • /Applications/Application.app:这是目标应用的路径。你需要将 Application.app 替换为实际要签名的应用程序名称。
 

相关拓展阅读

错误提示
原因
安全机制
解决方法
应用程序已损坏,无法打开。你应该推出磁盘映像。
该提示通常出现在从网络下载的 .dmg 磁盘映像文件中。
com.apple.quarantine 标记,表示文件需要额外检查和确认。
通过终端命令 sudo xattr -dr com.apple.quarantine /path/to/application.app 删除 quarantine 标记。
应用程序已损坏,无法打开。您应该将它移到废纸篓。
应用程序签名无效或文件缺失,Gatekeeper 无法验证应用完整性。
macOS 使用代码签名技术确保应用程序未被篡改。
检查应用是否来自受信任的来源,重新下载或在“安全性与隐私”设置中允许运行。
无法打开 ‘应用程序’,因为它来自身份不明的开发者。
应用程序未签名或开发者未在 Apple 开发者计划中注册。
Gatekeeper 检查开发者签名,防止来自不信任的开发者的应用程序运行。
在“系统偏好设置” > “安全性与隐私”中选择“仍然打开”,或更改为允许“任何来源”。
无法打开 ‘应用程序’,因为 Apple 无法检查其是否包含恶意软件。
无法验证应用程序是否含有恶意软件。
使用 XProtect 检查已知恶意软件,未签名或未检查的应用会显示此错误。
确保应用已通过 Apple 安全检查,手动允许运行(风险自担)。
Apple 无法验证 ‘应用程序’ 是否包含可能危害 Mac 安全或泄露隐私的恶意软件。
应用未经过 Apple 审查或签名无效。
XProtect 和 Notarization 公证机制检查应用程序是否含有恶意软件。
确认应用来源可信,手动删除 quarantine 属性,或在“安全性与隐私”中允许运行。
无法打开应用程序,因为它是从不受信任的开发者那里获取的。
应用没有有效的开发者签名。
Gatekeeper 检查应用的开发者签名,防止来自不信任开发者的应用运行。
在“系统偏好设置” > “安全性与隐私”中选择“仍然打开”,或更改为允许“任何来源”。
应用程序无法打开,因为它的开发者身份没有得到验证。
应用未经过 Apple 官方开发者签名。
macOS 通过开发者身份验证确保应用的安全性。
从受信任的来源下载应用或要求开发者进行注册和签署。
无法打开应用程序,因为它不符合应用程序的权限要求。
应用的文件系统权限不正确或与操作系统设置不兼容。
macOS 确保应用程序拥有正确的权限,防止恶意应用以管理员权限运行。
检查文件权限设置,使用 chmod 或 chown 命令修复文件权限。
无法打开应用程序,因为它是通过不安全的方式下载的。
应用程序来自不安全的 HTTP 网站或非加密的网络连接。
macOS 对来自不安全源的下载文件进行隔离检查,防止潜在的风险。
确保从 HTTPS 网站或 Apple 官方渠道下载,检查文件安全警告。
应用程序被阻止,因为它无法通过 Apple 的验证。
应用未经过 Notarization(公证)过程。
macOS 通过 Notarization 扫描应用程序,检查是否含有恶意软件。
如果确认应用安全,可以在“系统偏好设置” > “安全性与隐私”中允许运行。
无法打开应用程序,因为它没有有效的应用程序签名。
应用的签名无效或被篡改。
使用代码签名技术来确保应用的完整性和来源安全。
确保应用已正确签名,开发者需要重新签署应用。
无法打开应用程序,因为它包含恶意软件。
应用程序含有已知恶意软件,被 XProtect 或 Notarization 阻止。
XProtect 和 Notarization 会定期更新恶意软件数据库,阻止恶意软件运行。
不要继续运行此应用,尝试从官方渠道重新下载或使用安全工具进行扫描。
无法打开应用程序,因为它的文件损坏,无法修复。
应用文件损坏或下载不完全,或者来自非官方渠道。
macOS 会检查应用程序的完整性,防止启动损坏的文件。
重新下载应用程序或从合法渠道重新安装,确保应用的完整性。
无法打开应用程序,因为它的权限设置不正确。
应用程序的文件权限不允许当前用户执行或访问。
macOS 严格检查文件和应用权限,确保只有授权用户才能执行。
使用 Finder 或终端修复文件权限,确保当前用户有访问权限。
 

参考资料

部分材料来自ChatGPT
 
上一篇
产品指南丨弄个属于自己的在线deepseek-R1
下一篇
产品指南丨群晖NAS怎么快速找到局域网地址

评论
Loading...