MACOS常见问题

本文记录使用macos遇到的常见问题,后面会持续更新,觉得有用的可以收藏一下。

打不开xxx.app,因为它来自身份不明的开发者解决方法(开启任何来源)

打开终端(Terminal)程序

拷贝sudo spctl --master-disable至终端

输入电脑密码,回车执行即可

打开应用软件提示“文件已损坏”

原因

在 macOS 中,提示“文件已损坏”通常是由于以下原因之一:

软件未通过 Apple 的开发者认证:macOS 有 Gatekeeper 安全机制,默认会阻止未通过 Apple 开发者认证的软件运行。不信任的来源:macOS 将从未知来源下载的应用标记为不安全(标记为 quarantine(隔离区))。文件确实损坏:下载过程中文件可能损坏,导致无法正确运行。

解决办法

如果是文件确实损坏,那么下面的办法都没用,只能下载完整的文件。

如果是别的原因,可依次尝试(不一定全要尝试,有效果即可)以下方法:

更改安全与隐私设置

通过 Gatekeeper 允许未认证的软件运行:

打开 系统偏好设置 → 安全性与隐私。点击 通用 标签。如果有 “XXX 被阻止,因为它未被开发者验证” 的提示,点击 仍然打开。

通过右键打开

在 Finder 中通过右键强制运行软件:

在 Finder 中找到该软件。

右键点击 → 选择 打开。

弹出窗口后,点击 打开 按钮。

修复文件权限

使用以下命令修复权限(注意修改命令最后面的应用名,改为自己要打开的软件):

# 例如要打开navicat,使用这条命令

sudo xattr -r -d com.apple.quarantine /Applications/Navicat\ Premium.app

# 要打开Alfred5,使用这条命令

sudo xattr -r -d com.apple.quarantine /Applications/Alfred\ 5.app

禁用 Gatekeeper(不推荐长期使用)

如果你信任该软件,可以临时关闭 Gatekeeper。

打开终端 (Terminal)。输入以下命令并按回车:sudo spctl --master-disable输入管理员密码并回车。打开软件后,再通过以下命令重新启用 Gatekeeper:sudo spctl --master-enable

提示文件已损坏打开终端执行这个命令就可以打开了(注意修改命令最后面的应用名,改为自己要打开的软件)

# 例如要打开navicat,使用这条命令

sudo xattr -r -d com.apple.quarantine /Applications/Navicat\ Premium.app

# 要打开Alfred5,使用这条命令

sudo xattr -r -d com.apple.quarantine /Applications/Alfred\ 5.app

关闭SIP

什么是SIP

SIP(System Integrity Protection,系统完整性保护)是 macOS 中的一项安全机制,从 OS X El Capitan(10.11)开始引入。它的主要目的是防止恶意软件或未经授权的用户修改系统级别的重要文件和目录。

以上是官方的介绍,有点吓人。换句话来说,SIP类似于Windows防火墙和Android手机Root。这应该可以解决很多人的困惑。

苹果应用商店里的软件运行在沙箱中,无法访问系统文件,所以大部分软件都被阉割了。很多优秀的软件都没有在Apple Store上架,因为它们需要SIP系统权限。苹果不审核。部分软件采用双版本,分为官方版和App Store版。App Store是简单易用的版本,全功能版本需要单独下载。

默认情况下,macOS 仅允许运行通过 Apple App Store 下载的软件。

如果您想在 macOS 上安装第三方应用程序,您需要在“系统偏好设置”“安全和隐私”“常规”中启用允许 App Store 和批准的开发者的选项

如果你想在macOS上安装一些反编译和破解的应用程序,则需要关闭SIP。

如果您想从任何来源安装软件,您需要打开终端并输入命令。如果要关闭SIP,需要关机才能操作(早期的macOS系统中不需要关机)。为什么越来越麻烦呢?

它放在苹果应用商店,每售出一次,苹果拿走1/3。例如,如果您的软件售价为 100 美元,Apple 会收取 33.33 美元。

所谓批准的开发者就是去苹果购买开发者账户,然后用开发者账户对应用程序进行签名。

购买苹果开发者账户,个人每年99美元。该企业每年299美元。

如何关闭

检查状态

首先检查SIP系统完整性保护是否开启。

打开terminal并输入以下命令并按 Enter:csrutil status

您将看到以下消息之一,指示 SIP 状态

启用未关闭:

System Integrity Protection status: enabled.

禁用:

System Integrity Protection status: disabled

如果没有关闭,则需要关闭SIP!

关闭

进入恢复模式(Recovery模式),步骤如下:

关机

长按开机键

老版本系统是开机时按住Command+R键,2024年的版本都是长按开机键。

恢复模式如图,打开终端(由于系统不断更新,实际可能不完全一致,但大概相同):

在终端输入命令csrutil disable并按Enter键。

终端提示:Successfully disabled System Integrity Protection. Please restart the machine for changes to take effect.表示您已成功关闭SIP保护。

点击左上角的苹果图标,然后点击重启,就可以正常使用从网站下载的应用程序了。