Question: 如果出现“未识别的开发者:无法打开应用程序”错误该怎么办?
Table of Contents
- 该错误信息意味着什么(以及为何由MT4触发)
- 快速安全解决方案:使用上下文菜单中的“打开”选项
- 替代路径:系统设置 → 隐私与安全 → 仍要打开
- 顽固包装的稳健解决方案:移除互联网隔离属性
- 如果macOS继续阻止它:请检查应用程序是否完整且位于应用程序中
- 最后手段:临时禁用:启用“任何位置”,打开MT4一次,然后重新启用Gatekeeper
- 关于Apple Silicon的注意事项(Rosetta和Wine封装器)
- 验证应用程序包状态(面向高级用户)
- 修复“应用程序已损坏且无法打开”(外观相似但成因不同)
- 网络下载文件及隔离状态反复出现的原因
- 经纪商提供的MT4软件包(Wineskin规格说明)
- 在允许MT4运行的同时保障Mac安全
- 快速决策树(按此顺序操作)
- 受管Mac(工作笔记本电脑或MDM)注意事项
该提示的含义(及MT4触发原因)
macOS Gatekeeper仅允许来自App Store及已认证开发者(使用苹果签名证书的开发者)的应用程序。许多 macOS 版的 MT4 发行版(尤其是经纪商品牌包和 Wine/Wineskin 封装)未经过签名,或因下载来源带有互联网隔离属性。Gatekeeper 会阻止首次启动,并显示“无法打开,因为该应用来自未识别开发者”的提示。您需要为该应用程序启用单次显式许可,或移除标记其为互联网下载的隔离属性。
快速安全解决方案:使用上下文菜单中的“打开”选项
此操作仅为该应用程序创建永久例外,同时确保您的Mac对其他应用程序保持防护状态。
请执行以下操作:
- 将MetaTrader 4.app移动至/应用程序文件夹(必要时从下载文件夹拖拽)。
- 右键点击(或单击右键)MetaTrader 4.app → 打开。
- 在对话框中点击打开。
macOS会记录您已主动允许此特定应用程序运行。后续启动时该提示将不再出现,Gatekeeper仍将对其他所有应用程序保持有效。
替代路径:系统设置 → 隐私与安全 → 仍要打开
若您双击MT4并看到警告,macOS也会短暂显示一个取消按钮。
请执行以下操作:
- 打开 系统设置 → 隐私与安全。
- 滚动至 安全 选项。您将看到“MetaTrader 4已被阻止…”及仍要打开按钮。
- 点击仍要打开,随后在提示时确认打开。
此操作将创建相同的单应用程序例外,同时保持Gatekeeper保护机制不受影响。
顽固封装的有效解决方案:移除互联网隔离属性
某些MT4软件包经过压缩或封装处理,会对嵌套文件重新应用隔离状态。移除软件包的隔离属性.app 即可解决反复出现的请求。
请执行以下操作:
- 将 MetaTrader 4.app 移动至 /Applications 目录。
- 打开 终端(应用程序 → 实用工具 → 终端)。
- 执行以下命令(精确复制,包含引号):
xattr -d com.apple.quarantine “/Applications/MetaTrader 4.app”
在应用程序中双击启动MT4。
若容器内含隔离的嵌套元素,请递归删除:
xattr -dr com.apple.quarantine “/Applications/MetaTrader 4.app”
(该命令将删除应用程序包属性及其所有内容。仅对可信的MT4应用程序使用此命令)。
如果macOS仍阻止应用:请确认应用完整且位于“应用程序”文件夹中
- 确认应用程序位于/应用程序文件夹内(而非通过.dmg窗口运行)。
- 若通过.dmg安装,请将MetaTrader 4.app拖入/应用程序后弹出.dmg,再启动/应用程序中的副本。
- 若解压了经纪商提供的安装包,请确保解压工具未删除可执行文件。前文所述的隔离区清除步骤可解决绝大多数此类情况。
最后手段:临时禁用: 启用“在任何位置”,打开一次MT4,然后重新启用Gatekeeper
此方法会显著削弱Gatekeeper的保护功能,仅适用于其他方法失效时(这种情况很少见)的受控且一次性使用。目的是打开一次MT4,让macOS记录许可,然后立即恢复保护。
操作步骤:
sudo spctl --master-disable
从/应用程序启动MetaTrader 4.app。
立即重新启用Gatekeeper:
sudo spctl --master-enable
此操作流程有效但不够优雅;建议优先使用打开或仍要打开的右键菜单选项。
关于 Apple Silicon 的注意事项(Rosetta 和 Wine 包装器)
许多 macOS 版的 MT4 软件包基于 Wine 构建,将 Windows 系统的 terminal.exe 文件封装在 macOS 的 .app 文件中。在搭载Apple Silicon(M系列)的Mac上:
- 部分封装仅包含Intel二进制文件。macOS会在必要时自动使用Rosetta 2。若未安装Rosetta,请执行以下操作:
softwareupdate --install-rosetta --agree-to-license
安装完 Rosetta 后,请使用 Control-点击 → 打开 方法。若仍无法访问,请对 MetaTrader 4.app 执行如前所述的隔离删除命令。
对于基于 Wine 的合法但未签名的 MT4 发行版,以上步骤已足够。
检查应用程序包状态(高级用户)
若需快速查看Gatekeeper的检测内容:
- 快速检查签名/隔离状态
spctl -a -vv “/Applications/MetaTrader 4.app”
xattr -l “/Applications/MetaTrader 4.app”
解释:
- 若
spctl
显示拒绝,且xattr
显示com.apple.quarantine,请按提示解除隔离。li> - 若使用打开/仍要打开后,
spctl
显示已接受,则已创建例外;只需启动应用即可。
此修正无需深度验证代码签名,其目的是允许特定可信应用运行。
修复“应用程序已损坏且无法打开”(外观相似但成因不同)
有时,macOS 会显示类似的对话框,提示应用程序已损坏。MT4 包装中最常见的原因是下载文件损坏或解压工具更改了文件属性。
请执行以下操作:
- 从经纪商或MetaQuotes镜像站点重新下载安装程序。
- 将新的MetaTrader 4.app复制到/Applications目录。
- 执行一次Control-点击→打开操作。
- 如有必要,执行隔离区递归删除:
xattr -dr com.apple.quarantine “/Applications/MetaTrader 4.app”
若软件包确实损坏,重新下载即可立即解决问题。
从网络下载的文件及隔离状态持续出现的原因
当您使用Safari、Chrome或大多数浏览器下载应用程序时,macOS会为文件添加互联网安全属性(com.apple.quarantine)。解压或挂载.dmg文件时,该属性通常会传播到提取的应用程序中。因此首次启动时会弹出提示。通过右键点击并选择“打开”或“仍要打开”,即可移除此属性并记录您对该应用的明确许可。若复制新版本或重命名替换整个应用程序包,macOS会将其视为新项目,您需重新执行首次启动权限操作。
经纪商提供的MT4软件包(Wineskin版本说明)
若使用经纪商提供的基于Wineskin的MT4:
- 外部文件MetaTrader 4.app是容器;Windows版MT4位于:
MetaTrader 4.app/Contents/Resources/drive_c/Program Files/.../terminal.exe
- 正确的解决方案仍在外部应用程序中:
xattr -dr com.apple.quarantine “/Applications/MetaTrader 4.app”
随后右键点击并选择“打开”。
请勿尝试在 macOS 上直接运行 terminal.exe;务必启动 .app 容器。p>
此操作可确保Gatekeeper例外仅限于您安装的容器。
在允许MT4运行的同时保障Mac安全
以下措施可在允许特定可信应用程序运行的同时保持安全无虞:
- 优先选择Control-点击→打开或仍要打开。
- 在您信赖的特定应用程序包中使用xattr -d 处理您信任的特定应用程序包。
- 避免长期禁用Gatekeeper。若您已通过
spctl --master-disable
临时禁用该功能,请在首次成功启动后立即使用spctl --master-enable
重新启用。
快速决策树(请按此顺序操作)
A. 首次尝试
- 将 MetaTrader 4.app 放置于 /Applications 目录下。
- 按住Control键点击 → 打开 → 打开。
- 启动成功 → 完成。
B. 若A未显示打开选项
- 双击MT4一次以激活锁定状态。
- 系统设置 → 隐私与安全 → 强制打开 → 打开。
- 启动成功 → 完成。
C. 若仍被锁定(或反复进入隔离区)
xattr -dr com.apple.quarantine “/Applications/MetaTrader 4.app”
- 双击MT4。
- 启动Works → 完成。
D. 作为临时最终手段
sudo spctl --master-disable
- 打开MT4一次,然后:
sudo spctl --master-enable
- 启动Works → 完成。
E. 若显示“损坏”而非“未识别开发者”
- 重新下载,放置于/应用程序目录,重复步骤A或C。
受管理Mac(工作笔记本电脑或MDM)注意事项
若您的Mac受企业MDM管理或配置了严格配置文件, 则仍要打开按钮可能被隐藏,且spctl
的更改会被阻止。此时管理员需允许该应用程序(将包标识符或认证状态加入白名单)。对于个人Mac,上述步骤无需更改管理策略即可生效。
- 应用程序位于/Applications目录下。
- 使用Control-点击→打开操作一次,或通过隐私与安全设置中的仍要打开选项。
- 对于持久性封装,请通过以下命令解除隔离:
xattr -dr com.apple.quarantine “/Applications/MetaTrader 4.app”
- 仅在必要时,首次启动后暂时停用并立即重新启用 Gatekeeper。
- 在 Apple Silicon 设备上,若出现提示请安装 Rosetta 2,随后重复上述步骤。
遵循此流程后,MT4 将不再显示“未识别开发者:无法打开应用程序”的提示,同时保持 Mac 安全无虞。
- Close