刚用 mac 的小伙伴或者在更新系统版本后运行 App 会经常碰到弹窗提示「xxx已损坏,无法打开,您应该将它移到废纸篓」、「打不开xxx,因为 Apple 无法检查其是否包含恶意软件」、「打不开 xxx,因为它来自身份不明的开发者」等问题,下面就教大家如何修复
目前大部分人更新13、14系统后到导致软件打开:“已损坏”,并且电脑开启🔛任何来源,怎么办呢?
解决办法:去应用程序找到这个App,右键打开即可使用!(右键这个方式为管理权限的意思)如果还是打不开,参考下方绕过公证方法!
常见报错截图:
常见报错一:无法打开xxx.因为他不是从App Store 下载 (解决办法:打开任何来源,看下方教程)
常见报错二:无法打开xxx.因为Apple无法检查其包含恶意软件/因为它来自身份不明的开发者/因为无法验证开发者(解决办法:鼠标右击应用,在点击打开即可)
常见报错三:xxx已损坏,无法打开,您应该将它移到废纸篓(解决办法:打开任何来源,看下方教程)
常见报错四:应用程序"xxx",无法打开(M电脑出现的问题,解决办法:应用程序找到这个App,右键显示简介--勾选Rosetta即可)
常见报错五:更新了13系统Ventura后,打开应用还是提示“已损坏无法打开”!任何来源也打开了, 包里已损坏修复,修复发现提示 “Operation not permitted”安装Pkg包的应用也是一样,提示失败!
解决办法1:打开 “终端的完全磁盘访问” 权限.系统偏好设置 ▸ 隐私与安全性 ▸ 完整磁盘访问权限
☑️勾选了【终端】 (如果之前勾选过-然后+)
解决办法2:打开【系统设置】–【隐私与安全性】-下滑【安全性】板块下 …不明身份的开发者 点下方的【仍要打开】,输入开机密码 即可打开!(没有提示“仍要打开”这步就不用看了!)
解决办法3:Finder-应用程序,找到你打开损坏的App,鼠标右键打开即可(赋予管理员权限)
板块一:如何开启「任何来源」选项
板块二:某些app修复完了,打开会闪退怎么办
板块三:Apple ARM M1/2 应用闪退的解决方法 、rosetta是什么?怎么打开?
板块四:SIP系统完整性保护关闭方法
下滑找对应标题的解决办法吧!
出现的原因
这是因为 mac 启用了新的安全机制
苹果默认是只允许安装自家「App Store」来源的应用,够霸道的!如果你想安装第三方的,那么需要在 【系统偏好设置】 -> 【隐私与安全性】 -> 【安全性】 中勾选「App Store 和被认可的开发者」选项,而被认可的开发者是需要购买苹果的企业证书对应用进行签名,然后再提交给苹果审核才可以的,这一点对破解应用来说很不现实,因为破解应用必定会修改应用的文件,从而导致签名证书失效。
解决方法就是要开启「任何来源」选项,但是 mac 默认是隐藏了这个选项的,需要手动通过终端执行命令行代码来开启。
一、如何开启「任何来源」选项
先打开 【系统偏好设置】 -> 【安全与隐私】 -> 【安全性】或者【通用】 选项卡,检查是否已经启用了「任何来源」选项。如果没有启用,先点击左下角的小黄锁图标解锁,然后选中任何来源。
⚠️注意!如果没有「任何来源」选项,我们打开终端(command+空格 聚焦搜索:终端),复制以下命令粘贴到终端:
sudo spctl --master-disable
然后按下回车键,出现钥匙图标后输入电脑的开机密码(输入过程中密码是看不到的)输入完成后再按下回车键即可。现在回到 【系统偏好设置】 -> 【安全性与隐私】 -> 【安全性】或者【通用】 里,就会发现已选中任何来源选项了。
到这里一般情况下应用都可以运行了
然而有的应用,尤其是游戏开启了任何来源还是不行,这是因为苹果进一步收缩了对未签名应用的权限,这时候就需要通过终端执行命令行代码来绕过应用签名认证就可以了。
🌟绕过公证Gatekeeper(移除这个应用的安全隔离属性)也解决应用损坏打不开!
这是需要我们移除镜像的 Quarantine 属性
这里给大家科普下知识:苹果系统有一个GateKeeper保护机制(自 OSX 10.5 加入)。从互联网上下载来的文件,会被自动打上com.apple.quarantine标志,翻译过来就是免疫隔离,系统根据这个附加属性对这个文件作出限制。
打开终端,复制以下命令粘贴到终端:
sudo xattr -rd com.apple.quarantine
注意最后quarantine 后面加一个空格!然后打开Finder(访达),点击左侧的 应用程序,找到相关应用,拖进终端quarantine 的后面,然后按下回车键,出现钥匙图标后输入电脑的开机密码(输入过程中密码是看不到的)输入完成后再按下回车键即可。
到这里一般情况下应用都可以运行了,还是打不开的 Finder-应用程序,找到你打开损坏的App,鼠标右键打开即可
二、某些app修复完了,打开会闪退怎么办?
以下是出现「意外退出」及「崩溃闪退」问题修复方法
最近有部分网友反映更新系统后有很多软件打不开,或者出现闪退的情况,其实是因为Apple苹果公司在新系统中删除了TNT/HCISO的证书。
先安装Command Line Tools 工具,打开终端,复制以下命令粘贴到终端:
xcode-select --install
弹出安装窗口后选择安装,安装过程需要几分钟,请耐心等待。安装过【xcode-select】不用再次安装,直接看下面的终端签名教程
终端签名教程
安装完成后对应用进行签名,复制以下命令粘贴到终端:
sudo codesign --force --deep --sign -
注意最后的–后面加一个空格!然后打开Finder(访达),点击左侧的 应用程序,找到相关应用拖进终端,然后按下回车键,输入电脑的开机密码(输入过程中密码是看不到的)输入完成后再按下回车键即可。
正常情况下只有一行提示,即成功:
/文件位置 : replacing existing signature
如遇如下错误:
/文件位置 : replacing existing signature /文件位置 : resource fork,Finder information,or similar detritus not allowed
先在终端执行:
xattr -cr 应用路径(直接将应用拖进去)
然后再次执行如下指令即可:
codesign --force --deep --sign - 应用路径(直接将应用拖进去)
到这儿,百分之九十五的应用都可以正常运行了。如果还不行,那要关闭SIP了。(关闭SIP教程在最后)
三、Apple ARM M1/2 应用闪退的解决方法
很多小伙伴新买了 M1 /2芯片的 MacBook,而一些应用厂商也在快速的对自家的应用针对 Apple Silicon M1/2 进行原生适配。但还是有些应用没有适配,在运行的时候会出现闪退的情况,下面就教大家如何修复
Rosetta 2是什么?
苹果从 Intel 的 X86 芯片换到自研的 Apple Silicon M1/2 芯片后,原来 Intel 架构的应用在 M1/2上不兼容了,这需要应用厂商对自家的应用针对 Apple Silicon M1 /2进行原生适配更新,需要大量的时间,而且还有很多应用厂商不在更新自家应用了。
所以苹果为了这段时间的过渡,推出了 Rosetta 2 技术:Rosetta 2是一种仿真器,用于桥接 Intel 和 Apple 芯片之间的过渡。当你使用 Intel 架构的应用时,Rosetta 2都会在后台运行,自动翻译转化,使应用可以在 Apple 芯片的 Mac 上运行。
查看应用的架构
右键单击应用程序里的APP,选择 显示简介,种类中有三种类型:通用、Apple 芯片、Intel
通用
表示 App 既支持 Apple 芯片也支持 Intel 处理器,并且在默认情况下使用 Apple 芯片。一般通用 App 不需要 Rosetta。
Apple 芯片
表示 App 仅支持 Apple 芯片,不能在 Intel 处理器上安装。
Intel
表示 App 仅支持 Intel 处理器,并且需要 Rosetta 才能在搭载 Apple 芯片的 Mac 上运行。
通用类型的应用闪退修复
个别通用应用在 M1/2芯片 的 Mac 上运行时如果闪退,那么就要在显示简介窗口中,手动勾选 使用Rosetta打开 才可正常运行,如果没有往下看
如果没有这个选项的的话,是电脑未安装 Rosetta 2,需要执行以下命令安装一下,我们打开终端(command+空格 聚焦搜索:终端),复制以下命令粘贴到终端并回车执行:
/usr/sbin/softwareupdate --install-rosetta --agree-to-license
安装完成后,勾选重新打开应用就可以了
四、SIP系统完整性保护关闭方法
关闭Sip视频教程:https://www.bilibili.com/video/BV1C3411X7vz?t=10.7 (适合不想看以下全部文字的伙伴)
许多Mac用户反应,装了部分软件后打不开,那可能是sip系统完整性没有关闭。下面我们就来看一下如何关闭sip系统完整性。
以下文章转载自Pertim
SIP是什么?
系统完整性保护是 macOS 所采用的一项安全技术,能够帮助防止潜在恶意软件修改 Mac 上受保护的文件和文件夹。系统完整性保护可以限制 root 用户帐户,以及 root 用户能够在 Mac 操作系统的受保护部分完成的操作。
这可能对一些新人来说不太好理解,我们换一个说法,SIP 类似 Windows 的防火墙,安卓手机 Root,这应该可以解决很多的人困惑。
要更好的理解 SIP 可以做什么,我们需要先来了解一个概念:沙盒。
沙盒
macOS 自从 10.6 系统开始引入了沙盒机制,规定发布到 Mac App Store 中的应用必须使用并遵守沙盒约定。沙盒对应用访问的系统文件、硬件信息、网络等等都做了严格的限制,这样可以防止恶意的 App 通过系统漏洞来攻击系统并获取控制权限,也可以避免应用越权执行不安全的操作导致系统出现故障,从而保障 macOS 系统的安全。
沙盒相当于给每个 App 一个独立的空间,你只能在自己的小天地里面玩耍,要获取自己空间之外的资源必须获得授权(这个也有限制,只能获取有限的资源)。
现在你就大致了解沙盒是什么了。上面说了,因为 Mac App Store 中的应用必须要遵循沙盒约定,所以苹果应用商店的软件都是用沙盒运行的,无法访问修改系统底层文件,所以大部分软件如果想做的功能强一些又想上架 AppStore 那只能发阉割版的了。很多优秀软件没有在 Apple Store 上架就是因为需要一些沙盒外的资源权限,于是一些软件采取双版本,分为官方版全功能版和 App Store 精简版,就是因为这个原因,比如腾讯柠檬之类的系统应用。
你应该能也看出来,苹果为了大家的系统安全可真是煞费苦心。
macOS 应用的安全划分
综上所述,我们可以把 macOS 应用按安全来划分为这三类:
- 沙盒运行:严格遵守苹果的沙盒机制,只能访问限定的目录及执行有限的操作
- 未关闭 SIP 且不使用沙盒运行:除系统底层受保护的文件外,通过用户授权后可以访问及修改任意文件
- 关闭 SIP 且不使用沙盒运行:几乎可以访问及修改所有系统文件。
关闭 SIP 的影响
关闭 SIP 后运行应用将不会再提示:
- 常见报错一:无法打开xxx,因为 Apple 无法检查其是否包含恶意软件/因为它来自身份不明的开发者/因为无法验证开发者
- 常见报错二:xxx已损坏,无法打开,您应该将它移到废纸篓
也就是说,只要应用本身可以运行,那不管应用是否签名/公证,不管应用是不是恶意应用,你打开后它都会直接运行在你的系统中,此时你的电脑如同透明,毫无安全可言,它可以操作你系统的所有文件,如果这个应用是恶意应用,如果你不小心对它授权过,那它后面可以不经你允许在你系统上进行任何操作。
所以如非必要,不建议大家关闭 SIP!如果一定要使用某个需要关闭 SIP 的应用,那一定要自行判断一下应用的来源是否安全。
检查SIP状态
在sip系统完整性关闭前,我们先检查是否启用了SIP系统完整性保护。
在终端(command+空格 聚焦搜索:终端)上输入以下命令然后回车:
csrutil status
你会看到以下信息中的一个,指示SIP状态
未关闭 enabled
System Integrity Protection status: enabled
已关闭 disabled
System Integrity Protection status: disabled
如果是未关闭状态就需要关闭SIP了!
如何关闭SIP
1. 关机,然后重新启动你的Mac电脑,在开机时一直按住 Command+R 迸入Recovery模式(m1改为长按电源键,点击选项,选择一个用户进去)
2. 进入Recovery模式后在顶部菜单栏点击 实用工具 -> 终端
3. 在终端上输入以下命令然后回车:
csrutil disable
4. 点击左上角苹果图标,点击重新启动
如何在 M1 Mac 上禁用 SIP:
-
- 关闭你的 Mac。
- 按住电源按钮。一直按住它,直到看到正在加载启动选项。
- 单击选项,然后单击继续。如果系统询问,请选择要恢复的卷并单击下一步。
- 选择您的管理员帐户并点击下一步。
- 提供您的管理员用户密码,然后单击继续。
- 在菜单栏中,单击 和 。
- 在终端输入下一个命令:
csrutil disable
- 按回车键。您将看到您的系统完整性保护已被禁用。
- 重新启动 Mac 并删除有问题的文件。
评论(0)