剛用 macOS 的小夥伴或是在更新某個系統版本後執行 App 會提示提示【xxx已損壞,無法打開,你應該將它移到廢紙簍解決辦法】、【打不開 xxx,因為它來自身份不明的開發者】,【打不開xxxx,因為 Apple 無法檢查是否包含惡意軟體】等各種提示,下面小編就教大家如何修復。

常见的几种报错

  • xxx已损坏,無法打開,你应该将它移到废纸篓解决办法
  • 打不开 xxx因为它来自身份不明的开发者
  • 打不开xxxx因为 Apple 无法检查其是否包含恶意软件
  • 在安装的时候提示加载失败!

为什么会出现?

这是 macOS 启用了新的安全机制的问题

蘋果預設只允許安裝自家【App Store】來源的應用,如果你想安裝第三方的應用,那就需要在【系統偏 好設定 -> 安全性與隱私 -> 通用】中勾選【App Store 和被認可的開發者】選項。而被認可的開發者是需要購買蘋果的企業證書對應用程式進行簽名,然後再提交給蘋果審核才可以,這對破解應用來說很不現實,因為破解應用程式必定會修改套用的檔案從而導致簽章失效而運行顯示【已損壞】。另外一些開源免費類應用程式沒有收益(用戶主動打賞太難了),所以開發者一般也不會購買憑證簽名。

解決方法就是去開啟【任何來源】選項了,但是 macOS 預設是隱藏了這個設定的,需要使用者手動透過終端執行命令列程式碼來開啟。

下面就來教大家使用命令列程式碼開啟隱藏的任何來源選項。

开启任何来源(主要)

先打开 系统偏好设置 -> 安全与隐私 -> 通用 选项卡检查是否已经启用了 任何来源 选项

如果沒有這個選項,複製以下面的命令:

sudo spctl --master-disable

打开终端

将刚刚复制的命令粘贴到终端中

然后按下键盘的回车键(return)

输入密码

恭喜您您已成功开启任何来源

然而有的应用开启了任何来源还是不行这是因为苹果进一步收缩了对未签名应用的权限这时候就需要过终端执行命令行代码来绕过应用签名认证啦下面教大家通过命令绕过苹果的公证 Gatekeeper

绕过公证(扩展)

打開終端,輸入以下命令:

sudo xattr -rd com.apple.quarantine /Applications/xxxxxx.app

将上面的 xxxxxx.app 换成你的App名称比如 Sketch.app

sudo xattr -rd com.apple.quarantine /Applications/Sketch.app

或者复制以下命令粘贴到终端后

sudo xattr -rd com.apple.quarantine 

打开Finder(访达)点击左侧的 应用程序将应用拖进终端中然后按键盘的回车键(return)输入密码再按回车键完成

注意 quarantine 后面必须有个空格

好了再看一下是不是可以打开APP了!到这里一般情况下 90% 的应用都可以安装运行了

如果还不行那就需要对应用进行本地签名操作了!

应用签名(扩展)

  1. 安装Command Line Tools 工具

打开终端工具输入如下命令

xcode-select --install
  1. 弹出安装窗口后选择继续安装安装过程需要几分钟请耐心等待如果安装的时候提示“不能安装该软件,因為當前無法從軟件更新服務器獲得”,请按这篇教程操作macOS “不能安裝該軟件,因為當前無法從軟件更新服務器獲得” 解決方法
  2. 打开终端工具输入并执行如下命令对应用签名
sudo codesign --force --deep --sign - (应用路径)

应用路径打开访达(Finder)点击左侧导航栏的 应用程序找到相关应用将它拖进终端命令- 的后面然后按下回车即可注意最后一个 - 后面有一个空格

正常情况下只有一行提示即成功

/文件位置 : replacing existing signature
如遇如下错误
/文件位置 : replacing existing signature
/文件位置 : resource fork,Finder information,or similar detritus not allowed
  1. 先在终端执行
xattr -cr /文件位置(直接将应用拖进去即可)
  1. 然后再次执行如下指令即可
codesign --force --deep --sign - /文件位置(直接将应用拖进去即可)

 

聲明:本站所有文章,如無特殊說明或標註,均為本站原創發布。任何個人或組織,在未徵得本站同意時,禁止複制、盜用、採集、發布本站內容到任何網站、書籍等各類媒體平台。如若本站內容侵犯了原著者的合法權益,可聯繫我們進行處理。