首页 教程 开发工具 MACOS开发、使用常见问题汇总

MACOS开发、使用常见问题汇总

MACOS常见问题

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

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

  1. 打开终端(Terminal)程序

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

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

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

原因

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

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

解决办法

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

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

  1. 更改安全与隐私设置

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

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

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

    1. 在 Finder 中找到该软件。

    2. 右键点击 → 选择 打开

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

  3. 修复文件权限

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

    # 例如要打开navicat,使用这条命令sudo xattr -r -d com.apple.quarantine /Applications/Navicat\ Premium.app # 要打开Alfred5,使用这条命令sudo xattr -r -d com.apple.quarantine /Applications/Alfred\5.app

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

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

    1. 打开终端 (Terminal)。
    2. 输入以下命令并按回车:sudo spctl --master-disable
    3. 输入管理员密码并回车。
    4. 打开软件后,再通过以下命令重新启用 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美元。

如何关闭

  1. 检查状态

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

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

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

    • 启用未关闭:

    System Integrity Protection status: enabled.

    • 禁用:

    System Integrity Protection status: disabled

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

  2. 关闭

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

    1. 关机

    2. 长按开机键

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

      恢复模式如图,打开终端(由于系统不断更新,实际可能不完全一致,但大概相同):
      MACOS开发、使用常见问题汇总

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

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

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

评论(0)条

提示:请勿发布广告垃圾评论,否则封号处理!!

    猜你喜欢
    【MySQL】用户管理

    【MySQL】用户管理

     服务器/数据库  2个月前  2.15k

    我们推荐使用普通用户对数据的访问。而root作为管理员可以对普通用户对应的权限进行设置和管理。如给张三和李四这样的普通用户权限设定后。就只能操作给你权限的库了。

    Cursor Rules 让开发效率变成10倍速

    Cursor Rules 让开发效率变成10倍速

     服务器/数据库  2个月前  1.21k

    在AI与编程的交汇点上,awesome-cursorrules项目犹如一座灯塔,指引着开发者们驶向更高效、更智能的编程未来。无论你是经验丰富的老手,还是刚入行的新人,这个项目都能为你的编程之旅增添一抹亮色。这些规则文件就像是你私人定制的AI助手,能够根据你的项目需求和个人偏好,精确地调教AI的行为。突然间,你会发现AI不仅能理解Next.js的最佳实践,还能自动应用TypeScript的类型检查,甚至主动提供Tailwind CSS的类名建议。探索新的应用场景,推动AI辅助编程的边界。

    探索Django 5: 从零开始,打造你的第一个Web应用

    探索Django 5: 从零开始,打造你的第一个Web应用

     服务器/数据库  2个月前  1.13k

    Django 是一个开放源代码的 Web 应用程序框架,由 Python 写成。它遵循 MVT(Model-View-Template)的设计模式,旨在帮助开发者高效地构建复杂且功能丰富的 Web 应用程序。随着每个版本的升级,Django 不断演变,提供更多功能和改进,让开发变得更加便捷。《Django 5 Web应用开发实战》集Django架站基础、项目实践、开发经验于一体,是一本从零基础到精通Django Web企业级开发技术的实战指南《Django 5 Web应用开发实战》内容以。

    MySQL 的mysql_secure_installation安全脚本执行过程介绍

    MySQL 的mysql_secure_installation安全脚本执行过程介绍

     服务器/数据库  2个月前  1.08k

    mysql_secure_installation 是 MySQL 提供的一个安全脚本,用于提高数据库服务器的安全性

    【MySQL基础篇】概述及SQL指令:DDL及DML

    【MySQL基础篇】概述及SQL指令:DDL及DML

     服务器/数据库  2个月前  483

    数据库是长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。数据库不仅仅是数据的简单堆积,而是遵循一定的规则和模式进行组织和管理的。数据库中的数据可以包括文本、数字、图像、音频等各种类型的信息。

    Redis中的哨兵(Sentinel)

    Redis中的哨兵(Sentinel)

     服务器/数据库  2个月前  309

    ​ 上篇文章我们讲述了Redis中的主从复制(Redis分布式系统中的主从复制-CSDN博客),本篇文章针对主从复制中的问题引出Redis中的哨兵,希望本篇文章会对你有所帮助。