XiaBee's Studio.

“应用程序”已损坏解决方案

字数统计: 315阅读时长: 1 min
2023/04/19

问题

如果没有折腾过 mac,可能会在某次更新之后无法打开浏览器下载的可执行文件:

image-20230419182946008

这里给几个比较有效的解决方法。

直接允许 “任何来源” App 运行

老版本的 macOS 教程里会提醒你在安全性与隐私里面设置,允许 “任何来源” 的位置下载 APP:

allow-anywherep

但是新版的 macOS 默认没有这个选项:

image-20230419183349301

此时需要执行以下命令,以显示 “任何来源”:

1
sudo spctl --master-disable

重新打开 “隐私与安全性”,就能看到了:

image-20230419183746564

如需关闭显示任何来源:

1
sudo spctl --master-enable

image-20230419183853728

如果对 macOS 终端操作不熟练的话,建议到此为止,下面的操作留给有需要的人(x)

移除应用的安全隔离属性

1
2
sudo xattr -dr com.apple.quarantine /Applications/${name.app}
## ${name.app} 为需要移除安全隔离的程序

重签名

如果因为证书不被 macOS 信任,可以制作/寻找一个 macOS 信任的证书,然后重新打包签名:

1
2
codesign --force --deep --sign - /Applications/${name.app}
## ${name.app} 为重签名的程序

至于怎么拿到/制作出 macOS 信任的证书……各凭本事(x)

Reference

https://sysin.org/blog/macos-if-crashes-when-opening

CATALOG
  1. 1. 问题
  2. 2. 直接允许 “任何来源” App 运行
  3. 3. 移除应用的安全隔离属性
  4. 4. 重签名
  5. 5. Reference