xxx.app 已損壞,無(wú)法打開(kāi),你應(yīng)該將它移到廢紙簍/打不開(kāi) xxx,因?yàn)樗鼇?lái)自身份不明的開(kāi)發(fā)者解決方法
常見(jiàn)的幾種報(bào)錯(cuò)
- xxx已損壞,無(wú)法打開(kāi),你應(yīng)該將它移到廢紙簍解決辦法
- 打不開(kāi) xxx,因?yàn)樗鼇?lái)自身份不明的開(kāi)發(fā)者
- 打不開(kāi)xxxx,因?yàn)?Apple 無(wú)法檢查其是否包含惡意軟件
- 在安裝的時(shí)候提示加載失敗!
為什么會(huì)出現(xiàn)?
這是 macOS 啟用了新的安全機(jī)制的問(wèn)題。
蘋(píng)果默認(rèn)是只允許安裝自家【App Store】來(lái)源的應(yīng)用,如果你想安裝第三方的應(yīng)用,那么需要在【系統(tǒng)偏 好設(shè)置 -> 安全性與隱私 -> 通用】中勾選【App Store 和被認(rèn)可的開(kāi)發(fā)者】選項(xiàng)。而被認(rèn)可的開(kāi)發(fā)者是需要購(gòu)買(mǎi)蘋(píng)果的企業(yè)證書(shū)對(duì)應(yīng)用進(jìn)行簽名,然后再提交給蘋(píng)果審核才可以,這對(duì)破解應(yīng)用來(lái)說(shuō)很不現(xiàn)實(shí),因?yàn)槠平鈶?yīng)用必定會(huì)修改應(yīng)用的文件從而導(dǎo)致簽名失效而運(yùn)行顯示【已損壞】。另外一些開(kāi)源免費(fèi)類應(yīng)用沒(méi)有收益(用戶主動(dòng)打賞太難了),所以開(kāi)發(fā)者一般也不會(huì)購(gòu)買(mǎi)證書(shū)簽名。
解決方法就是去開(kāi)啟【任何來(lái)源】選項(xiàng)了,但是 macOS 默認(rèn)是隱藏了這個(gè)設(shè)置的,需要用戶手動(dòng)通過(guò)終端執(zhí)行命令行代碼來(lái)開(kāi)啟。
開(kāi)啟任何來(lái)源(主要)
先打開(kāi) 系統(tǒng)偏好設(shè)置 -> 安全與隱私 -> 通用 選項(xiàng)卡,檢查是否已經(jīng)啟用了 任何來(lái)源 選項(xiàng)。
如果沒(méi)有這個(gè)選項(xiàng),復(fù)制以下面的命令:
sudo spctl --master-disable
然而有的應(yīng)用開(kāi)啟了任何來(lái)源還是不行,這是因?yàn)樘O(píng)果進(jìn)一步收縮了對(duì)未簽名應(yīng)用的權(quán)限,這時(shí)候就需要過(guò)終端執(zhí)行命令行代碼來(lái)繞過(guò)應(yīng)用簽名認(rèn)證啦。下面 教大家通過(guò)命令繞過(guò)蘋(píng)果的公證 Gatekeeper。
繞過(guò)公證(擴(kuò)展)
打開(kāi)終端,輸入以下命令:
sudo xattr -rd com.apple.quarantine /Applications/xxxxxx.app
將上面的 xxxxxx.app 換成你的App名稱,比如 Sketch.app
sudo xattr -rd com.apple.quarantine /Applications/Sketch.app
或者復(fù)制以下命令粘貼到終端后
sudo xattr -rd com.apple.quarantine
打開(kāi)Finder(訪達(dá)),點(diǎn)擊左側(cè)的 應(yīng)用程序,將應(yīng)用拖進(jìn)終端中,然后按鍵盤(pán)的回車(chē)鍵(return),輸入密碼,再按回車(chē)鍵,完成。
注意
quarantine后面必須有個(gè)空格
好了再看一下是不是可以打開(kāi)APP了!到這里一般情況下 90% 的應(yīng)用都可以安裝運(yùn)行了
如果還不行,那就需要對(duì)應(yīng)用進(jìn)行本地簽名操作了!
應(yīng)用簽名(擴(kuò)展)
- 安裝Command Line Tools 工具
打開(kāi)終端工具輸入如下命令:
xcode-select --install
彈出安裝窗口后選擇
繼續(xù)安裝,安裝過(guò)程需要幾分鐘,請(qǐng)耐心等待。如果安裝的時(shí)候提示“不能安裝該軟件,因?yàn)楫?dāng)前無(wú)法從軟件更新服務(wù)器獲得”,請(qǐng)按這篇教程操作:打開(kāi)終端工具輸入并執(zhí)行如下命令對(duì)應(yīng)用簽名:
sudo codesign --force --deep --sign - (應(yīng)用路徑)應(yīng)用路徑:打開(kāi)訪達(dá)(Finder),點(diǎn)擊左側(cè)導(dǎo)航欄的
應(yīng)用程序,找到相關(guān)應(yīng)用,將它拖進(jìn)終端命令-的后面,然后按下回車(chē)即可,注意最后一個(gè)-后面有一個(gè)空格。
正常情況下只有一行提示,即成功:
/文件位置 : replacing existing signature
如遇如下錯(cuò)誤:
/文件位置 : replacing existing signature /文件位置 : resource fork,Finder information,or similar detritus not allowed
- 先在終端執(zhí)行:
xattr -cr /文件位置(直接將應(yīng)用拖進(jìn)去即可)
- 然后再次執(zhí)行如下指令即可:
codesign --force --deep --sign - /文件位置(直接將應(yīng)用拖進(jìn)去即可)
本文來(lái)自博客園,作者:浪里小白龍qaq,轉(zhuǎn)載請(qǐng)注明原文鏈接:http://www.rzrgm.cn/xiao-bai-long/p/19009432

浙公網(wǎng)安備 33010602011771號(hào)