システムで許可される実行プロセスを増やす必要があります。ターミナルから制限を変更できます。そのためのコマンドは次のとおりです。
Sudo launchctl limit maxproc [limit for one user] [total limit]
シミュレータヘルプ内では、Appleのサンプル値は、1人のユーザーに対して20および25 totalです。
値を設定した後、iOSシミュレーターを終了し、Xcodeを再起動して、シミュレートされたデバイスをもう一度起動してください。
ただしこれによりシステムの速度が低下するになり、OSが不安定になる可能性があることに注意してください。これらの値は次の再起動までしか永続的ではないため、システムを再起動する必要があり、これらの値はデフォルトに復元されます。
シミュレータのヘルプから:
警告:プロセスの最大数を低すぎる数に設定すると、Macが正常に動作しなくなる可能性があります。マシンを再起動して、元の制限を復元します。
次のコマンドは私を助けてくれました。ターミナルに以下のコマンドを貼り付けてみてください。問題が解決します。
Sudo launchctl limit maxproc 2000 2500
別の方法として、現在のシミュレータを終了してから、シミュレータをもう一度起動することもできます(理想的には別のiPhoneバージョン用)。
他の人々がすでに答えたものは機能します。 sysctlを使用して値を個別に設定する方法は次のとおりです。
プロセスの合計最大数を設定するには:
Sudo sysctl kern.maxproc=<VALUE>
ユーザーごとのプロセスの最大数を設定するには:
Sudo sysctl kern.maxprocperuid=<VALUE>
<VALUE>
は、設定する値です。
注:sysctl
のパラメーターとして-w
を使用すると言う人もいます。あなたは...それは何も傷つけません。しかし、MacOSの最新バージョンでは非推奨です。
次のコマンドで現在の値をリストできます。
Sudo sysctl kern.maxproc kern.maxprocperuid
これらの設定は、再起動後も保持されません。再起動後も値を保持するには、この投稿にあるようなことをしてください: 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>
私の場合、xcodeを終了して再度開きました。出来た。
または、シミュレータの複数のインスタンスを開いている場合、その場合もそのようなエラーが表示されるため、シミュレータの他のすべての要素を終了し、目的のシミュレータでアプリを実行します。
シミュレータの名前を変更すると、このエラーが発生します。
私はただ以前の名前に戻したとマシンを再起動するを修正してくれた。
Appleが言ったように:
マシンを再起動して、元の制限を復元します。
そのため、シミュレーターの名前を変更すること以外は知りませんが、その制限に加えた変更はすべて元に戻ります。
正しい答えを出す前に、まずマシンを再起動してみてください。
(これはシステムのスローダウンを防ぐのに役立つかもしれません。乾杯!)