【问题标题】:Can I install Xcode on an external hard drive along with the iPhone Simulator.app?我可以将 Xcode 与 iPhone Simulator.app 一起安装在外部硬盘上吗?
【发布时间】:2020-03-28 06:21:31
【问题描述】:

我想安装 xcode 来部署跨平台颤振应用程序,但我找不到足够的空间来存放 Xcode 是否有任何替代解决方案可以将其安装在内部存储上

【问题讨论】:

    标签: swift xcode macos flutter mobile-development


    【解决方案1】:

    我找到了一种在外部驱动器中安装 Xcode 的非常简单的方法,但模拟器文​​件仍会下载到 Mac 安装中。

    • 从以下位置获取独立的 Xcode 应用程序: Apple Developer Xcode Downloads (使用 Apple 开发者帐户登录)

    • 登录后,输入您想要的版本,然后下载 Xcode_x_x_x.xip 文件。请记住,Xcode 11.4.1 为 8 GB,因此这将需要一段时间,具体取决于您的互联网连接。

    • 下载文件后,单击 .xip 将其解压缩。您的 Mac 会将其解压缩到您下载到的同一文件夹中。这个提取过程是自动的。单击 .xip 文件后,您无需再执行任何操作。此步骤需要几分钟时间。

    • [可选] 提取后,如果您使用多个版本,请将应用程序重命名为“Xcode11.x.x”。

    • 将该文件拖到您的外部驱动器。

    • 在使用 Transporter 将应用程序提交到 Mac App Store 时,您可能会发现未找到错误。在这种情况下,请转到首选项 > 位置 > 命令行工具,然后选择您的版本。

    • 这就是我现在使用 Unity 为 Mac 应用程序工作的方式。稍后我会尝试在 iOS 上做同样的事情。如果我发现其他问题和解决方法,我会在这里更新(或者如果我不能,我会在这里寻求帮助)。

    【讨论】:

    • 链接是死链接。
    • 好的,你没看错,我修改了链接
    • 您将无法使用此方法构建和签署本机 iOS 或 macOS 应用程序。原生应用程序是通过将两个 Xcode 项目(原生项目和 Unity 生成的一个)组合到一个 Xcode 工作区来构建的,然后将 UnityFramework.framework 文件添加到原生 Xcode 项目的应用程序目标的 Embedded Binaries 部分。当你尝试构建一个签名的发布版本时,如果不是以前的话,事情就会爆炸。
    【解决方案2】:

    注意:仅尝试用于 cordova 项目。感谢@cseder

    来自 macOS Big Sur(11.0.1)、Xcode 12.3、MacBook Air (2017)、WD 外置硬盘(非 SSD)的报告:

    1. apple developer website下载.xip文件
    2. 将 .xip 文件移动到外部硬盘驱动器(我也将此硬盘驱动器用作 Time Machine。我不确定这种情况是否是一个因素)
    3. 确保您的本地硬盘驱动器至少有大约 25 GB 的可用空间。因为在安装过程中本地硬盘填充,安装完成后,空闲空间返回。
    4. 双击 .xip 文件。
    5. 请耐心等待。等了好久:)(我没用过SSD:)
    6. 瞧!

    注意:

    1. 您的 Xcode 应用不会显示在启动板中。
    2. 我没有使用全功能。仅用于编译 cordova 项目。

    【讨论】:

    • 同上:如果您使用 macOS > 10.15.2 并启用 SIP(​​默认情况下),这应该是不可能的 您可能能够启动应用程序,可能是因为 Cordova 使用 CocoaPods和 Ruby 将各种 Ruby 脚本连接到进程中,您可以绕过受 SIP 保护的文件。这与本机使用 Xcode 工具链构建常规应用程序不同,也不是对 OP 原始问题的回答。
    【解决方案3】:

    请先阅读此内容!

    目前,此答案对运行的系统有效:

    XCode

    为什么?(短版):

    在 XCode 11.3.x 中,Apple 在/usr/lib/libxcselect.dylib 中激活了一些(直到现在)休眠检查,可以检查开发人员工具是否位于由 SIP 保护的只读/不可变系统分区上,并在您这样做时触发xcode-select -s 目录切换尝试。

    由于like this 的原因,11.x “Big Sur” macOS 版本更难将其锁定。 移动系统相关文件,甚至从外部驱动器启动都不起作用,因为新的“加密封条”是the new SSV(签名系统卷)的一部分,如果散列被更改(文件在 /等)。

    我还没有找到解决这些检查的方法。 我对使用此方法后损坏的系统不承担任何责任,如果您选择修补更新版本的 XCode / macOS,请先进行完整备份!祝你好运!


    将 Xcode、模拟器和其他工具安装到外部存储

    如 cmets 中所述,如果您已经安装了 Xcode,则该过程非常简单。 首先将 Xcode 从内部 HD 复制到外部驱动器,重命名原始文件并运行步骤 4 和 5 中的命令,这应该可以解决问题。如果是这样,请删除原始(现已重命名)目录/应用程序包。

    我的经验是,如果您还没有 Xcode,则该过程会涉及更多。

    可能有更简单的方法可以做到这一点,但在我尝试过的每件事都出现不同的错误之后,我在 MacBook Pro 16" 上运行时这样做了 ma​​cOS Catalina (10.15.2)Xcode 11.3

    我的外置驱动器始终连接到 MacBook,使用了一点 Velcro,因为我使用的三星 T5 驱动器又小又轻。 它安装在:
    /Volumes/SSD

    在我已将 Xcode 复制到的外部驱动器上:
    /Volumes/SSD/Applications

    按照以下步骤安装 Xcode:

    1. Apple's Developer Site 下载最新的 11.3 Xcode 版本(不是 Beta 版)(这是一个 7.3GB 的下载,您需要顺便注册一个免费的开发者帐户)

    2. 安装 Xcode 命令行工具(到内部驱动器),可以通过在终端中运行以下命令来触发: sudo xcode-select --install
      这将触发命令行工具的安装并建立/Library/Developer/CommandLineTools 路径并将其设置为安装后的默认开发者工具路径。

    3. 现在,Xcode 下载以 .xip 文件的形式出现,需要使用 macOS 随附的存档实用程序。
      我已经在 SSD 上创建了一个目录:
      /Volumes/SSD/Applications
      并将 Xcode_11_3.xip 文件移到此处,然后通过在 Finder 中双击它来提取它。
      注意: 它将解压到与 .xip 文件相同的文件夹中,进入 Xcode.app,但也会将 7.3GB 的 .xip 文件保留在那里。 解压后,您可以将 .xip 文件移动到某处进行备份或直接删除。

    4. 现在使用以下命令更改默认开发者工具目录:
      sudo xcode-select -s /Volumes/SSD/Applications/Xcode.app/Contents/Developer
      然后再执行一次zsh -l或重新启动 Terminal.app。

    5. 将 Xcode.app 设置为默认开发者工具目录后,运行此命令,让 Xcode 自行解决:
      /usr/bin/xcrun --find xcodebuild

      这花了一点时间,然后我回来了:
      /Volumes/SSD/Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild

    移动模拟器/模拟器

    模拟器、缓存和所有这些也占用了大量空间,但存在于其他地方。
    对于 Xcode,模拟器通常位于:
    ~/Library/Developer/CoreSimulator

    如果您希望最大限度地利用本地驱动器上的可用空间,则需要将整个目录结构移至外部驱动器。 您可以通过 Finder.app 使用常规移动操作,首先执行常规 ⌘ + C (cmd+c) 复制 ~/Library/Developer/CoreSimulator 然后在目标位置,您可以使用 ⌥ + ⌘ + V (opt+cmd+v ) 直接移动复制的内容(可能需要管理员密码)。

    我使用/Volumes/SSD/Library/Developer/

    不得不提一下这一点,因为许多人不知道如何在 Finder 中正确“剪切和粘贴”文件,最终先复制然后再返回删除... :)

    现在使用以下命令创建符号链接:

    ln -s /Volumes/SSD/Library/Developer/CoreSimulator /Users/<your_user>/Library/Developer

    您现在应该可以像往常一样使用和更新模拟器了。 第一次运行可能会抛出错误,但后续运行应该没问题。有时重新启动也可能是件好事...

    默认情况下,Android 模拟器位于下方某处 ~/.android/
    使用与 Xcode 模拟器相同的过程,将整个 ~/.android 目录移动到外部驱动器上的某个位置,并按照说明进行符号链接,因此您最终会得到如下内容:

    .android -> /Volumes/SSD/Library/android

    当您在终端中执行$ ls -la ~ 时。

    自制用户注意事项

    如果您使用Homebrew 安装软件包(就像许多人一样),如果您移动 /Library/Developer/CommandLineTools 目录,并会尝试从源代码编译一些瓶子。
    Homebrew 显然需要在与sudo xcode-select --install 一起安装的单独命令行工具包中找到的一些工具,这些工具在常规 Xcode 安装中缺失(我在升级到新版本的 Python 时注意到这一点,无论我尝试什么,它仍然是从源代码编译的.)
    因此,如果您使用 Homebrew,最好将命令行工具安装在默认位置。 只需按照sudo xcode-select --install 命令的说明进行安装,然后将其留在那里,反正不会占用太多空间。

    重要提示,请记住接受 xcodebuild 许可证 之前使用依赖于它的工具,使用这样的命令(使用您自己的路径):

    sudo /Volumes/SSD/Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -license accept

    或者如果开发者工具已经在外部驱动器上检测到并找到,并且路径已由 XCode 设置:

    sudo xcodebuild -license accept 应该可以解决问题。

    正如我所说,可能有更简单的解决方案,但是 这样做之后,我已经能够毫无错误地使用 Homebrew 以及带有 MacOS、iOS 和 Flutter 框架的 Xcode + 工具。

    另外,我在/Applications 中为 Xcode.app 创建了一个别名,以便将其与其他应用程序方便地放在一起。 (Cmd + Opt 将 Xcode.app 拖到 Finder 中的 /Applications 中)。 这种方式在内部驱动器上为自己节省了大量空间。


    回答 cmets 中的问题:

    使用此方法后我可以升级 Xcode / Simulators 吗?

    只要您在按住⌥ + ⌘ 的同时拖动应用程序,从外部驱动器的Xcode.app 到/Applications/Xcode.app 创建一个好的旧“别名”,我在更新时没有任何问题,但是 我通过从Apple Developer Site 下载而不是通过 macOS AppStore 进行升级,因为我注意到 AppStore 不接受别名并认为未安装 Xcode。


    关于 Xcode 版本的更新 > 11.3

    正如我在答案顶部提到的,如果您使用的 Xcode 版本高于 11.3,我无法保证此答案。

    我已经在新机器上使用全新安装完成了所有步骤。

    在尝试解决这个问题时,我遇到了一些阻碍,我只有有限的时间来做这件事。 问题比预期的要复杂一些。

    待办事项:
    ✅ 磁盘今天到货(9 月 8 日,星期二)
    ✅ 安装 macOS、Xcode、Android SDK 和 Flutter SDK 开发文件
    ✅ 将 Flutter SDK、Android SDK 和 Android 模拟器移至外部 SSD
    ✅ 将 iOS 模拟器文件移动到外部 SSD
    [?] 失败:将 Xcode 和 Platform 文件移动到外部 SSD
    ✅ 调整 Zsh 环境变量/脚本以反映变化


    如果将 Xcode 应用程序包中的工具移到内部驱动器之外,启用 SIP 的用户(可能是大多数用户)似乎会遇到麻烦。

    你可能会想,“嘿,我的工具在 /usr/bin 或其他地方,但问题是这些文件只是 shim 二进制文件,它们使用系统库来解决Developer 目录的路径,其中安装了所有实际的可执行文件、库和支持文件。

    这使事情变得更加复杂,因为您现在甚至不再知道这些文件中的哪些文件在实际使用中。试试看:

    $ otool -L /usr/bin/xcrun
    # or
    $ otool -L /usr/bin/xcode-select
    
    

    看看会产生什么...大多数工具也是如此。

    如果你反汇编 /usr/lib/libxcselect.dylib(允许这样做吗??)在 11.3 版本之后运行 Xcode 时显然会执行一些额外的检查。

    我回去检查了一下,配置已经为几个版本提供了这些测试,但它们在以前的消费者版本中没有被激活。

    因此,当按照我的原始答案中所述尝试 目录切换 时,libxcselect 工具现在将执行至少一次(不)完整性检查,以确保 Xcode 及其工具从内部(安全)存储,具有由 SIP 保护的不可变系统配置。 System Integrity Protection,所以,你不能只是移动或删除它。

    我的猜测是,您必须禁用 SIP 才能使其正常工作,这是不可接受的解决方案,因为它会带来许多安全性和稳定性问题(甚至性能更差)。

    寻找中间立场

    问题:如何通过将开发人员文件移动到外部驱动器来释放内部驱动器上的空间。
    关于移动 Xcode 部分,我已经尝试了几乎所有我能想到的方法,但无论如何我都遇到了新的障碍和阻碍。

    所以。我不得不在这个问题上认输,找到一个折衷方案。 我可以忍受在我的 MacBook Pro 的内部 256GB NVMe 驱动器上节省大约 50GB 的空间。

    我移动没有问题: ~/Library/Android/*(整个Android SDK目录) ~/.android/*(缓存和 .avd 模拟器图像文件)

    在复制内容并删除原件后,只使用符号链接。 这仅对那些使用 Android SDK 和工具进行开发的人感兴趣,所以很遗憾,我无法解决由于 Apple 对“外国、敌对”位置的可执行文件的限制性新政策而导致的这种疯狂。
    仅这两个目录就为我节省了相当多的空间,所以我想暂时就是这样。

    我尝试将 Xcode 包的某些部分从应用包中移出,并取得了不同程度的成功,但正如您在此屏幕截图中看到的那样:

    Xcode.app 的大部分位于“Platforms”目录中,当我开始处理这些文件时,构建工具会炸毁我,但有时不会,所以我真的不知道。

    模拟器文件本身可以移动,这将为您节省几 GB 到大量 GB 的空间,具体取决于您使用的平台(iOS / iPadOS 等)版本。

    这些位于内部: ~/Library/Developer/CoreSimulator 如原始答案中所述,我已经能够使用符号链接轻松移动整个 CoreSimulator 目录。

    我会继续尝试解决这个问题,但现在,这就是它的所在。


    【讨论】:

    • 亲爱的@cseder。我不明白你关于 Homebrew 的说明。你能解释更多吗?
    • 我有几个问题: 1. 这种方法也能移动模拟器吗? 2.当我们移动Xcode时,我们以后可以更新Xcode吗?
    • 我在这里做了所有的步骤,但是在移动 Xcode 之后,我的模拟器无法工作。他们使用应用程序启动,但不加载操作系统,他们只是停留在黑屏状态。有人知道为什么会这样吗?
    • 关于使用最新版本的 Xcode 和 macOS Catalina 的问题,请在我的主要答案的顶部查看我的编辑。
    • 也期待这个 - 在模拟器上遇到与 @JoseTapizquent 相同的问题。
    【解决方案4】:

    除了将 XCode 移动到外部驱动器之外,您还可以克隆 Mac 光盘并将整个操作系统移动到外部驱动器上并使其可启动。

    你需要的东西:

    安装克隆软件,按照说明进行操作,不到一小时您将拥有一个可启动的外部驱动器(取决于您要克隆的内容)

    您现在有一个便携式开发磁盘,可以插入并从同一个 mac 启动。从其他 mac 启动可能无法像 cseder 在 cmets 中建议的那样工作。

    在第一次启动和使用 XCode 时,Apple 操作系统会执行一些应用程序验证,但一旦完成,你应该没问题。

    我有一台运行 Big Sur 的 2018 mac-mini,只有 128GB 内部 SSD。每次我需要升级 XCode 时,我都必须删除所有的模拟器。升级到 Big Sur 更加困难:-/

    性能?

    外置驱动器 (Samsung T5) 的写入速度比 Apple 在 mac-mini 上使用的廉价内置 SSD 快 3 倍。根据BlackMagic,读取速度大致相同。总体而言,在外部驱动器上构建 Flutter 应用程序的速度大约快 10%。

    【讨论】:

    • 我认为这不适用于现代 MacBook Pro 或其他配备 T2+ 安全芯片的 Mac 机型。此外,您还必须启用从外部驱动器启动的选项,并在您处于恢复模式时禁用启动选项中的操作系统验证检查。
    • 不适用于 macOS 版本 > 11.x。复制包含 签名系统卷 和数据卷的 APFS 卷组将中断,因为它使用文件系统中所有数据和元数据的加密哈希作为 seal所以复制的卷将被破坏,macOS UEFI 引导例程将拒绝从卷引导。
    • @cseder 我正在运行标准安装 OSX 11.2.1 (20D74),它可以从带有 Mac Mini 的克隆系统驱动器上正常启动,也许限制不是 OSX 的版本,而是硬件?
    • 是的。这似乎也是一个重要因素。我对此不确定,因为我只有一台没有 T1 / T2 安全芯片的旧 iMac,在那里我可以做很多本来应该做的事情,自己打电话。 (旧的 macOS High Sierra)但是较新的英特尔型号肯定不会让克隆驱动器作为系统驱动器运行,而新的“不可变核心”分区基本上与系统相关的任何内容都是只读的。对安全有利,对修补不利。猜测基于 ARM 的新模型也不是很“狡猾”。不知道。
    • 我做了一些类似于我的 128GB macbook pro 的事情,我买了一个 512GB Pioneer M.2 SSD 和一个 C 型 M.2 机箱,根据 BlackMagic,它给了我大约 950 MB/秒,这不是不好,但我不得不从开发者网站下载 Xcode(并通过在我的 zshrc 中添加一个链接来使用 zsh 链接 Xcode 也完美地为我使用 Docker 和 WebStorm)
    【解决方案5】:

    花了很长时间回答@cesder,这绝对是很棒的。我确实发现了移动模拟器的问题。如果我使用 simlink,Xcode > 11.3 将找不到它们,但使用别名效果很好。 创建别名: 右键单击外部驱动器上的CoreSimulator 文件夹,然后选择Make alias,然后将其复制到~/Library/Developer/


    编辑:通过将 Xcode 格式化为“Mac OS 扩展(日志式)”,我已经能够从我的外部驱动器成功运行 Xcode。它就像 ExFAT,Xcode 出于某种原因不喜欢它。

    我还没有测试将模拟器移动到外部驱动器,但是移动所有 Xcode 对我来说已经足够了。 要将 Xcode 移动到您的外部驱动器,只需遵循 Xcode

    【讨论】:

    • 我遇到了这个问题,就像你一样。您介意将完整路径发布到您的 simlinked 模拟器吗?对于不同的平台,我有大约五个不同的 CoreSimulators 文件夹。将 IPhone 别名为/Volumes/SSD/Applications/Xcode.app/Contents/Developer/Applications/Simulator.app,然后将其复制到 ~/Applications/Simulator.app。当我尝试打开它时它立即关闭。谢谢。
    • 想通了。我不得不打开 XCode,因为它是全新安装的。完成此操作并接受许可证后,单击 Aliased Simulator 即可。应该只需单击 XCode 即可,但我是通过 https://hacknicity.com/xclauncher 完成的,因为我只是想找到一些东西来完成这项工作,并记得花了 3 美元。
    • > 它是 ExFAT,Xcode 出于某种原因不喜欢它。一些原因:因为它依赖于扩展的文件系统属性和权限,而 ExFAT 对此一无所知。
    【解决方案6】:

    系统 MacBook Pro,带有外部 SSD。,带有 MacOS BigSur 版本 11.2.1 我在本地磁盘上安装 Xcode 版本 12.4。 安装后我将 Xcode.app 复制到外部磁盘,并删除本地磁盘上的版本。 没有进行进一步的更改。 从外部磁盘启动 Xcode。没有问题。 小心:第一次启动需要 5 分钟

    【讨论】:

    • OP 也要求从外部驱动器运行 Simulator.app。你测试过这个吗?您提到了“启动 Xcode w/o 问题”。您是否也在模拟器上测试过构建和运行项目?
    • 如果您使用启用 SIP 的 macOS > 10.15.2,这应该是不可能的(默认情况下)您可能能够启动应用程序,但是一旦您需要使用如果这些文件已从系统卷的 /Applications/Xcode 位置移开,则内部 Xcode 工具链会爆炸。该测试由 libxcselect 执行,如果这些工具不在安全/不可变系统/SIP 保护区中,则检查失败,目前我找不到解决方法。
    【解决方案7】:

    我刚刚将 Xcode 12.3 安装到 /Applications 然后将 .app 复制到我的外部驱动器,然后删除了原始文件。 之后:

    ln -s /Volumes/ExternalSSD/Applications/Xcode.app /Applications/Xcode.app
    

    第一次启动需要一段时间,但后来一切正常。 MacOS 11.1,M1 2020 Air。

    (无需克隆操作系统或从外部驱动器启动,就像其他帖子所建议的那样)。

    【讨论】:

    • Noob 问题,如何获得 de symlink 的正确路径?这会将所有开发人员文件移动到外部驱动器吗?包括模拟器?
    • 嗨@DeveloperSammy,您可以将文件或文件夹拖到终端窗口中,以便快速轻松地“键入”路径。看到你的回复后,我也用同样的方法移动了模拟器:ln -s /Volumes/ExternalSSD/Applications/Xcode\ Simulators/dyld /Users/bsuk/Library/Developer/CoreSimulator/Caches 这样又节省了10gb左右。
    • @BSUK 在一个不相关的话题上,m1 芯片的 xcode 性能如何? 256gb 足够用于移动应用程序开发,还是我应该获得 512gb 版本?还有,8GB内存够吗?
    • 我还没有机会使用 Xcode,但总的来说,这台笔记本电脑的速度非常快,即使应用程序在 Rosetta“仿真”下运行(在首次运行应用程序时重新编译)。我可以使用 Rosetta 运行实时音频应用程序(比我在本地运行它们的旧 Mac 更快)这一事实令人印象深刻。 Apple 硅原生应用程序也更快。检查一些利基应用程序或硬件的兼容性,但总的来说,你很高兴。由于 Xcode 是 Apple Silicon 原生的,因此我期望其性能非常快。只有您可以回答有关磁盘空间的问题,因为这是个人需求。
    • 我的模拟器总是在我的用户文件夹 /libary/developer/CoreSimulator 下......任何想法,它让我发疯
    【解决方案8】:

    这对我有用,不仅适用于 XCode,而且适用于所有应用程序。

    1. 将 MacOS 安装到外部媒体中(SSD 会更好)。
    2. 您需要启用从外部驱动器引导。你可以在重启后看到苹果标志后按 Command 和 R 来做到这一点
    3. 在外部媒体上安装 MacOS 后,安装所需的任何应用程序。 WhatsApp、XCode、IntelliJ、Adobe Photoshop ...等
    4. 完成后,更改启动设置,从 MacMini 或 Macbook pro 驱动器启动。
    5. 创建指向您在外部驱动器上安装的应用程序的符号链接

    例子:

    cd /应用程序 ln -s "/Volumes/Extreme SSD/Applications/XCode.app" XCode.app

    我已经在我的 Mac 上的所有应用程序上尝试过这个,它就像一个魅力。

    优点: - 减少头痛。将 XCode 目录复制到外部 SSD 可能不起作用。我已经这样做了,奇怪的是,有一个目录循环,我最终失去了我所有的外部 SSD 空间。

    - The application is installed in the way it should
    

    缺点: - 你必须失去 12GB 才能安装 Mac

    到目前为止,这对我来说就像一个魅力。

    【讨论】:

    • 不,使用最新版本的 macOS 和在 mac 硬件上运行的 Xcode 是不可能的。 Big Sur 不会从 APFS 签名系统卷之外的任何东西启动,正如你所说的“所有应用程序”完全不相关,因为其他应用程序不受 SIP 保护。如果你愿意,你可以从 Amiga 500 软盘驱动器上运行它们。
    【解决方案9】:

    我找到了一个更简单的解决方案。在您的 Mac 上创建一个新用户。授予管理员权限(可选),将您刚刚创建的用户帐户的主目录设置为外部硬盘驱动器。然后登录新用户并将 Xcode 安装到 ~/Applications 目录而不是 /Applications。然后 Xcode 安装在您的外部 ssd 上。到目前为止对我来说使用它没有问题!希望对您有所帮助。

    编辑:我忘了说我应该从开发者网站下载 Xcode。没试过从 App Store 下载。

    【讨论】:

    • 我也做了同样的事情,它可以在快速的 ssd 上正常工作。确保从开发者网站下载它并将压缩文件复制到 ssd,然后解压缩。 :j
    • 嗯,这对我来说可能是最好的选择。将尝试并报告!
    • 我使用这个解决方案安装了 Xcode 12.0.1。由于运行 cpio 时出现大量错误,我的第一次迭代失败了。我很确定这是因为我的硬盘没有被格式化为 HFS 或 APFS。一旦我将驱动器重新格式化为 APFS 并重复,它就起作用了。我在 /Applications 中创建了一个符号链接,并将 xcode-select 运行到新路径。我的 2012 MacBook Pro 有点慢,但可以!现在正在尝试新的 XCode 12.3。谢谢!
    • 关于从 Xcode 开始的问题(在版本 > 11.3 中强制执行“健全性检查”)这没有区别。检查开始了,而 SIP 没有不在乎你是否是“管理员”。在较新版本的操作系统中不再有 true root 用户可访问。较新型号上的安全芯片,不受操作系统上用户的影响,除非您一起杀死 SIP 并复制每一位信息和扩展属性/权限等。但在 11.x 中,即使这样也没有切掉它,新的“受保护的系统分区”加密方案无论如何都会使检查炸毁。 :(
    • 这行是什么意思:“然后登录新用户并在 ~/Applications 目录而不是 /Applications 安装 Xcode”?
    【解决方案10】:

    @cseder 你是救命稻草!

    顺便说一句,如果您在执行步骤 5 /usr/bin/xcrun --find xcodebuild 时遇到问题或在 Mac Catalina 中需要很长时间来验证:

    1. 关闭计算机
    2. 开机并快速进入安全模式(按 CMD + R 多次)
    3. 在安全模式开启后登录您的帐户并打开终端
    4. 运行此命令csrutil disable
    5. 运行sudo reboot

    然后你就可以直接打开Xcode而不用做任何/usr/bin/xcrun --find xcodebuild

    请注意,在您能够运行 Xcode 之后,请确保再次关闭并在安全模式下启用 csrutil enable

    【讨论】:

    • 嗨。我认为“救生员”有点极端,但谢谢!您不必禁用 SIP 即可使其正常工作。我认为您必须解决原因,因为这实际上不需要您这样做,因为从本地驱动器运行 Xcode 时会加载相同的内容。
    • 关于 Xcode 和 SIP 连接,您实际上是对的。我试图弄清楚是否有可能在不禁用 SIP 的情况下运行依赖于那些的 Xcode 和随附的工具 + 工具,因为从长远来看,这并不是一个真正的解决方案......有关更多信息,请参阅我的更新。 ..
    • 禁用 SIP 会导致一些检查被忽略,让您从系统驱动器以外的其他位置运行 Xcode,但它也为大量恶意程序打开了您的操作系统的盛宴,所以这样做只能暂时作为解决问题的最后手段。
    猜你喜欢
    • 2021-01-13
    • 2023-03-24
    • 2013-08-15
    • 2014-01-15
    • 2012-10-13
    • 1970-01-01
    • 1970-01-01
    • 2016-10-23
    • 2016-10-22
    相关资源
    最近更新 更多