Когда я пытаюсь запустить iOS Simulator из Xcode 9, появляется следующее сообщение:
Не удалось загрузить устройство из-за нехватки системных ресурсов с помощью 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 и снова открыл. Это сработало.
Или, если у вас открыто несколько экземпляров симулятора, то в этом случае также появляется такая ошибка, поэтому закройте все остальные симуляторы и запустите приложение на желаемом симуляторе.