Не удалось загрузить устройство из-за нехватки системных ресурсов с помощью Xcode 9

Когда я пытаюсь запустить iOS Simulator из Xcode 9, появляется следующее сообщение:

Ответ 1

Вы должны увеличить разрешенные процессы для своей системы. Вы можете изменить пределы через терминал. Команда для этого следующая:

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

Внутри справки по симулятору, значения для примера Apple 2000 для одного пользователя и 2500.

После настройки значений закройте iOS Simulator, затем перезапустите Xcode и попробуйте снова запустить смоделированное устройство.

Однако помните, что это может замедлить работу вашей системы и сделать OS нестабильной. Поскольку эти значения являются постоянными только до следующего перезапуска, вы должны перезагрузить систему и восстановить эти значения по умолчанию.

Из справки по симулятору:

ПРЕДУПРЕЖДЕНИЕ: Установка максимального количества процессов на слишком низкое число может привести к неправильной работе вашего Mac. Перезагрузите компьютер, чтобы восстановить исходные пределы.

Ответ 2

Следующая команда помогла мне. Попробуйте вставить нижеследующую команду в терминал, и она должна решить вашу проблему.

sudo launchctl limit maxproc 2000 2500

Ответ 3

В качестве альтернативы вы можете выйти из текущего симулятора, а затем снова запустить симулятор (идеально для другой версии iPhone).

Ответ 4

То, что другие люди уже ответили, работает. Вот способ также установить значения независимо с помощью sysctl:

Чтобы установить максимальное количество процессов:

sudo sysctl kern.maxproc=<VALUE>

Чтобы установить максимальное количество процессов для пользователя:

sudo sysctl kern.maxprocperuid=<VALUE>

Где <VALUE> - это любое значение, на которое вы хотите их установить.

ПРИМЕЧАНИЕ: Некоторые люди говорят, что использовать -w в качестве параметра для sysctl. Вы можете... это ничего не повредит. Но это устарело в современных версиях MacOS.

Вы можете перечислить текущие значения с помощью этих команд:

sudo sysctl kern.maxproc kern.maxprocperuid

Эти настройки не будут сохраняться при перезагрузке. Чтобы сохранить значения при перезагрузке, выполните что-то вроде этого: https://discussions.apple.com/thread/2781309

То есть, создайте файл plist в /Library/LaunchDaemons (например, sysctl.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>

Ответ 5

Эта ошибка происходит со мной после того, как я переименую мои симуляторы.

Я просто переименовал обратно в то, что его имя до и перезагружая машину, исправлю это для меня.

Как сказал Apple:

Перезагрузите компьютер, чтобы восстановить исходные ограничения.

Поэтому любые изменения, которые я внес в эти ограничения, о которых я даже не знаю, кроме переименования симуляторов, вернутся к оригиналу.

Сначала попробуйте перезагрузить компьютер, прежде чем делать правильный ответ.

(Это может также помочь вам предотвратить замедление вашей системы. Ура!)

Ответ 6

В моем случае я просто вышел из xcode и снова открыл. Это сработало.

Или, если у вас открыто несколько экземпляров симулятора, то в этом случае также появляется такая ошибка, поэтому закройте все остальные симуляторы и запустите приложение на желаемом симуляторе.