由于使用 Xcode 9 的系统资源不足,无法启动设备

Unable to boot device due to insufficient system resources using Xcode 9

当我尝试从 Xcode 9 启动 iOS 模拟器时,弹出以下错误:

您应该增加系统允许的 运行 个进程。您可以通过终端修改限制。该命令如下:

sudo launchctl limit maxproc [limit for one user] [total limit]

在 Simulator Help 中,Apple 的示例值是 2000 一个用户和 2500 总计。

设置值后,退出 iOS 模拟器,然后重新启动 Xcode 并尝试再次启动模拟设备。

但是,请记住,这会减慢您的系统并使OS不稳定。由于这些值仅在下一次重新启动之前是永久的,因此您应该重新启动系统并将这些值恢复为默认值。

来自模拟器帮助

WARNING: Setting the the maximum number of processes to a number that is too low can prevent your Mac from operating correctly. Restart your machine to restore the original limits.

或者,您可以退出当前模拟器,然后再次启动模拟器(最好是不同的 iPhone 版本)。

以下命令帮助了我。 尝试在终端中粘贴以下命令,它应该可以解决您的问题。

sudo launchctl limit maxproc 2000 2500

其他人已经回答的内容有效。这是一种使用 sysctl 独立设置值的方法:

要设置进程的最大总数:

sudo sysctl kern.maxproc=<VALUE>

设置每个用户的最大进程数:

sudo sysctl kern.maxprocperuid=<VALUE>

其中 <VALUE> 是您要将它们设置为的任何值。

注意:有些人说使用 -w 作为 sysctl 的参数。你可以……它不会伤害任何东西。但是,它在现代版本的 MacOS 中已被弃用。

您可以使用这些命令列出当前值:

sudo sysctl kern.maxproc kern.maxprocperuid

这些设置不会在重启后保留。要在重启后保留这些值,请执行类似 post 中的操作:https://discussions.apple.com/thread/2781309

即,在 /Library/LaunchDaemons(例如,sysctl.plist)中创建一个 plist 文件,根据需要设置值。这是一个例子:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" 
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
 <key>Label</key>
 <string>sysctl</string>
 <key>ProgramArguments</key>
 <array>
 <string>/usr/sbin/sysctl</string>
 <string>-w</string>
 <string>kern.maxprocperuid=1024</string>
 <string>kern.maxproc=2048</string>
 </array>
 <key>RunAtLoad</key>
 <true/>
</dict>
</plist>

这个错误发生在我重命名我的模拟器之后。

我只是重命名回之前的名字并且重新启动机器为我修复。

正如 Apple 所说:

Restart your machine to restore the original limits.

因此,我对该限制所做的任何更改(除了重命名模拟器外我什至不知道)都将恢复为原始设置。

先尝试重新启动机器,然后再执行正确答案中的操作。

(这也可以帮助您防止系统变慢。干杯!)

就我而言,我只是退出 xcode 并重新打开。成功了。

或者,如果您打开了多个模拟器实例,那么在这种情况下也会显示此类错误,因此请退出模拟器的所有其他实例并运行您所需模拟器上的应用程序。

我的情况要简单得多,我的 Mac 的存储空间已满。我删除了几 GB 未使用的东西,重新启动 Mac,它工作正常。

我关闭了 Xcode 和模拟器,然后重新启动了我的计算机,错误消失了。已经3天了,还没有回来。在更改设置之前,我建议先重新启动。

在我的例子中,我有另一个帐户,其中模拟器是 运行。

  1. 锁屏。
  2. 切换到其他帐户。
  3. 退出模拟器。
  4. 回到当前帐户,它起作用了。

在我的例子中,我有很多打开的模拟器,在关闭其中大部分之后错误消失了

xCode 12.4 就我而言,没有显示模拟器。解决方案是单击 Apple 图标,select 强制退出并选择模拟器。

在我的情况下,我只是退出 Xcode 然后重新打开并解决问题