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

前言

在下载网上的软件安装包,打开软件的时候可能会遇到下面这些情况:
  • “应用程序” 已损坏,无法打开。你应该推出磁盘映像。
  • “应用程序” 已损坏,无法打开。您应该将它移到废纸篓。
  • 无法打开 “应用程序”,因为它来自身份不明的开发者。
  • 无法打开 “应用程序”,因为 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 确保应用程序拥有正确的权限,防止恶意应用以管理员权限运行。
检查文件权限设置,使用 chmodchown 命令修复文件权限。
无法打开应用程序,因为它是通过不安全的方式下载的。
应用程序来自不安全的 HTTP 网站或非加密的网络连接。
macOS 对来自不安全源的下载文件进行隔离检查,防止潜在的风险。
确保从 HTTPS 网站或 Apple 官方渠道下载,检查文件安全警告。
应用程序被阻止,因为它无法通过 Apple 的验证。
应用未经过 Notarization(公证)过程。
macOS 通过 Notarization 扫描应用程序,检查是否含有恶意软件。
如果确认应用安全,可以在“系统偏好设置” > “安全性与隐私”中允许运行。
无法打开应用程序,因为它没有有效的应用程序签名。
应用的签名无效或被篡改。
使用代码签名技术来确保应用的完整性和来源安全。
确保应用已正确签名,开发者需要重新签署应用。
无法打开应用程序,因为它包含恶意软件。
应用程序含有已知恶意软件,被 XProtect 或 Notarization 阻止。
XProtect 和 Notarization 会定期更新恶意软件数据库,阻止恶意软件运行。
不要继续运行此应用,尝试从官方渠道重新下载或使用安全工具进行扫描。
无法打开应用程序,因为它的文件损坏,无法修复。
应用文件损坏或下载不完全,或者来自非官方渠道。
macOS 会检查应用程序的完整性,防止启动损坏的文件。
重新下载应用程序或从合法渠道重新安装,确保应用的完整性。
无法打开应用程序,因为它的权限设置不正确。
应用程序的文件权限不允许当前用户执行或访问。
macOS 严格检查文件和应用权限,确保只有授权用户才能执行。
使用 Finder 或终端修复文件权限,确保当前用户有访问权限。
 

参考资料

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

评论
Loading...