XcodeでiPhoneやiPadのアプリを実行しようとした際、Simulatorが起動しない、起動途中で止まる、黒い画面のまま進まない、といった症状が発生することがあります。
原因はSimulatorの一時的な状態不整合、CoreSimulatorサービス、壊れた仮想デバイス、不足・破損したSimulator Runtime、Xcodeの切り替え設定、ディスク容量不足などさまざまです。
この記事では、Xcode Simulatorが起動しない場合の確認手順と、影響の小さい方法から順番に試せる複数の解決方法を解説します。
主な原因
- SimulatorまたはCoreSimulatorの一時的な不具合
- 特定のSimulator端末データが破損している
- iOSなどのSimulator Runtimeが正常にインストールされていない
- Xcode更新後に古い仮想端末やRuntimeの情報が残っている
- 複数のXcodeをインストールしており、Command Line Toolsが別のXcodeを参照している
- Macの空き容量やメモリが不足している
- Xcode、Simulator、macOSの更新後に関連サービスの状態が不整合になっている
代表的な発生状況
たとえば次のような状況で発生します。
- Xcodeの実行先としてSimulatorを選んでもSimulatorアプリが開かない
- Simulatorは開くがAppleロゴや黒い画面のまま進まない
- XcodeやmacOSをアップデートした直後から起動しなくなった
- 新しいiOS Simulator Runtimeを追加した後から不安定になった
- 特定の端末だけ起動せず、別のSimulatorでは正常に動作する
最初に確認すること
1. XcodeとSimulatorを終了する
XcodeとSimulatorの両方をいったん終了し、再度Xcodeを起動して実行します。一時的なCoreSimulatorの状態不整合であれば、これだけで復旧することがあります。
2. Macの空き容量を確認する
Simulator Runtimeや仮想端末は数GB単位の容量を使用します。ストレージ残量が少ない場合、起動・更新・端末作成に失敗することがあります。
3. 利用可能なSimulatorを確認する
Terminalで次のコマンドを実行します。
xcrun simctl list devices
端末一覧が表示されるか、対象端末が存在するか、Unavailableになっていないかを確認します。
解決方法1:すべてのSimulatorを終了する
起動状態が不整合になっている場合は、すべてのSimulatorをシャットダウンします。
xcrun simctl shutdown all
その後Simulatorを終了し、Xcodeからもう一度実行してください。
解決方法2:問題のSimulatorを消去する
特定の仮想端末だけ起動しない場合、その端末のデータが破損している可能性があります。
Xcodeの端末管理画面から対象Simulatorを選び、消去または新しいSimulatorを作成します。コマンドからすべてのSimulatorデータを消去する場合は次を使用できます。
xcrun simctl erase all
注意:この操作を行うと、Simulator内に保存されているアプリ、設定、ログイン情報、テストデータなどが削除されます。必要なデータがある場合は先に確認してください。
解決方法3:利用できないSimulatorを整理する
XcodeやRuntimeの更新後には、古いRuntimeに紐づいた利用不能なSimulatorが残ることがあります。
xcrun simctl delete unavailable
実行後、Xcodeを再起動して端末一覧を確認します。
解決方法4:Simulator Runtimeを確認・再インストールする
対象OSのRuntimeが不足または破損している場合、Simulatorは正常に起動できません。
XcodeのSettingsにあるComponentsまたはPlatforms関連の画面から、使用するiOSなどのSimulator Runtimeがインストールされているか確認します。必要であればRuntimeを再取得してください。
インストール済みのRuntimeは次のコマンドでも確認できます。
xcrun simctl list runtimes
解決方法5:Command Line Toolsの参照先を確認する
複数バージョンのXcodeを使っている場合、Terminalが意図しないXcodeを参照していることがあります。
xcode-select -p
現在選択されているDeveloper Directoryを確認します。
通常のXcodeを使用する場合の例は次のとおりです。
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
Xcode側のSettingsからCommand Line Toolsの対象Xcodeを確認する方法もあります。
解決方法6:CoreSimulator関連プロセスを再起動する
Simulatorサービスが応答しない場合は、XcodeとSimulatorを終了した後、CoreSimulator関連プロセスを終了して再生成させる方法があります。
killall -9 com.apple.CoreSimulator.CoreSimulatorService
プロセスが存在しない場合はエラーが表示されることがあります。その場合はMacを再起動する方法でも構いません。
解決方法7:新しいSimulatorを作成する
既存端末の修復に時間をかけるより、新しいSimulator端末を作成した方が早く切り分けできる場合があります。
たとえば既存のiPhone Simulatorだけ起動しない場合、新しいiPhoneモデルとインストール済みRuntimeの組み合わせで仮想端末を作成し、同じプロジェクトを実行します。
新しい端末では動作する場合、プロジェクト自体ではなく元のSimulatorデータに問題がある可能性が高くなります。
解決方法8:XcodeとmacOSを更新する
使用しているmacOSとXcodeの組み合わせや、利用するSimulator Runtimeとの互換性も確認します。古いXcodeでは新しいRuntimeを利用できない場合があります。
特にOS更新直後やベータ版を利用している場合は、対応するXcodeが必要になることがあります。
それでも起動しない場合の確認手順
次の順番で切り分けると原因を絞り込みやすくなります。
- 別のSimulator端末で起動するか確認する
xcrun simctl list devicesで端末状態を確認するxcrun simctl list runtimesでRuntimeを確認するxcrun simctl shutdown allを実行する- 問題のSimulatorを消去または作り直す
xcode-select -pでXcodeの参照先を確認する- Macを再起動する
- 必要に応じてSimulator Runtimeを再インストールする
特定のプロジェクトだけで問題が起きる場合は、Simulatorそのものではなく、ビルド設定・アプリ起動処理・依存ライブラリ側に原因がある可能性もあります。空の新規プロジェクトを同じSimulatorで実行すると切り分けしやすくなります。
まとめ
Xcode Simulatorが起動しない場合は、いきなりXcodeを再インストールするよりも、まずSimulatorの状態、Runtime、仮想端末データ、Xcodeの参照先を順番に確認する方が効率的です。
最初はxcrun simctl shutdown all、別端末での確認、問題端末の再作成を試し、それでも改善しない場合にRuntimeやCommand Line Tools、Xcode・macOSの互換性まで確認してください。
Simulatorの問題は端末単位で発生することも多いため、「別のSimulatorでも同じ症状が出るか」を最初に確認すると、原因をかなり早く絞り込めます。
