XcodeでiOS Simulatorを起動したとき、「launchd failed to respond」と表示され、Simulatorが起動しない、アプリを実行できない、処理が途中で止まることがあります。
このエラーは、Simulator内部の起動管理を担当するlaunchdが正常に応答できないときに発生します。単純な一時停止だけでなく、Simulatorの状態不整合、ランタイムやデバイスデータの破損、Xcode更新後のキャッシュ不整合などが原因になることがあります。
主な原因
- Simulator内部のlaunchdまたは関連サービスが正常に起動していない
- 前回のSimulator終了処理が不完全で状態が残っている
- 特定のSimulatorデバイスデータが破損している
- XcodeやSimulator Runtime更新後に古いデータが残っている
- 利用できなくなった古いSimulatorデバイスが残っている
- macOS側のCoreSimulatorサービスが一時的に不安定になっている
代表的な発生状況
たとえばXcodeからアプリを実行しようとした際、Simulatorの起動途中で次のようなメッセージが表示されることがあります。
launchd failed to respond
Xcodeのアップデート直後、macOS再起動後、異なるiOS Simulator Runtimeへ切り替えた直後などに発生する場合もあります。
最初に確認すること
1. Simulatorの状態を確認する
ターミナルで次のコマンドを実行すると、登録されているSimulatorと現在の状態を確認できます。
xcrun simctl list devices
対象デバイスがBooted、Shutdown、Unavailableのどれになっているかを確認します。
2. Xcodeで選択しているSimulatorを確認する
Xcode上部の実行先から別のiPhone Simulatorへ切り替え、同じエラーが出るか確認します。別デバイスでは正常に起動できる場合、特定のSimulatorデータだけが壊れている可能性があります。
3. Simulator Runtimeを確認する
XcodeのSettingsからComponentsまたはPlatformsを開き、使用しているiOS Simulator Runtimeがインストール済みで利用可能な状態か確認します。Xcodeのバージョンに対応していない古いRuntimeや、不完全なダウンロードが原因になる場合があります。
解決方法1:XcodeとSimulatorを終了して再起動する
まずXcodeとSimulatorを完全に終了してから再度Xcodeを起動します。一時的にCoreSimulatorやlaunchdの状態が停止しているだけなら、これで復旧することがあります。
最初からSimulatorデータを消去する必要はありません。まずは再起動、別Simulatorでの確認、shutdownの順に試すと安全です。
解決方法2:すべてのSimulatorをShutdownする
起動状態が不整合になっている場合は、simctlで一度すべて停止します。
xcrun simctl shutdown all
その後Simulatorを開き直すか、Xcodeからもう一度アプリを実行します。
解決方法3:問題のSimulatorをEraseする
特定のSimulatorだけで発生する場合は、そのデバイスの内容を消去すると改善することがあります。XcodeのDevices and Simulatorsから対象Simulatorを選び、Erase All Content and Settings相当の操作を行います。
コマンドで全Simulatorを初期化する場合は次のようにします。
xcrun simctl shutdown all
xcrun simctl erase all
注意:erase allを実行すると、Simulator内に保存されているアプリ、設定、テストデータなどが消去されます。必要なデータがある場合は実行前に確認してください。
解決方法4:利用できないSimulatorを削除する
XcodeやRuntimeを更新したあと、対応するRuntimeがなくなった古いSimulatorが残っている場合があります。次のコマンドで利用できないデバイスを削除できます。
xcrun simctl delete unavailable
Apple Developer Forumsでも、Simulator関連の整理方法としてこのコマンドが案内されています。
解決方法5:新しいSimulatorを作成する
既存デバイスのデータ破損が疑われる場合は、XcodeのDevices and Simulatorsから新しいSimulatorを作成し、そこでアプリが起動できるか確認します。
新規デバイスで正常に動作する場合は、元のSimulator固有の問題だった可能性が高いです。
解決方法6:Simulator Runtimeを入れ直す
複数のSimulatorで同じ症状が出る場合は、使用しているiOS Simulator Runtime側に問題がある可能性があります。XcodeのSettingsにあるComponentsまたはPlatformsから対象Runtimeを確認し、必要に応じて再ダウンロードします。
Xcode自体を更新した直後に発生した場合は、現在のXcodeと利用したいiOS Simulator Runtimeの組み合わせが対応しているかも確認してください。
解決方法7:Macを再起動する
SimulatorだけでなくCoreSimulatorサービス全体が不安定になっている場合、XcodeやSimulatorを終了しただけでは直らないことがあります。その場合はMacを再起動してからXcodeを起動し、再度実行します。
確認用コマンド
Simulatorの状態確認と復旧時によく使うコマンドは次の通りです。
xcrun simctl list devices
xcrun simctl shutdown all
xcrun simctl delete unavailable
最終手段としてSimulator内容を初期化する場合のみ、次を使用します。
xcrun simctl erase all
注意点
erase allはSimulator内のデータを削除するため、先に通常の再起動やshutdownを試す- 特定デバイスだけで発生するのか、すべてのSimulatorで発生するのかを切り分ける
- Xcode更新直後はSimulator Runtimeとの対応状況を確認する
- 古い記事で紹介されているSimulator関連フォルダの手動削除は、現在の環境では必要性を確認してから行う
まとめ
「launchd failed to respond」は、Simulator内部のlaunchdやCoreSimulator周辺が正常に起動できていないときに発生するエラーです。
まずXcodeとSimulatorの再起動 → xcrun simctl shutdown all → 別Simulatorで確認の順に試し、特定デバイスに問題がある場合はEraseまたは新規Simulator作成を行います。複数デバイスで発生する場合は、Runtimeの再確認やMacの再起動まで進めると切り分けやすくなります。
