PC パソコン

Xcode Simulatorが起動しない原因と解決方法

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が必要になることがあります。

それでも起動しない場合の確認手順

次の順番で切り分けると原因を絞り込みやすくなります。

  1. 別のSimulator端末で起動するか確認する
  2. xcrun simctl list devicesで端末状態を確認する
  3. xcrun simctl list runtimesでRuntimeを確認する
  4. xcrun simctl shutdown allを実行する
  5. 問題のSimulatorを消去または作り直す
  6. xcode-select -pでXcodeの参照先を確認する
  7. Macを再起動する
  8. 必要に応じてSimulator Runtimeを再インストールする

特定のプロジェクトだけで問題が起きる場合は、Simulatorそのものではなく、ビルド設定・アプリ起動処理・依存ライブラリ側に原因がある可能性もあります。空の新規プロジェクトを同じSimulatorで実行すると切り分けしやすくなります。

まとめ

Xcode Simulatorが起動しない場合は、いきなりXcodeを再インストールするよりも、まずSimulatorの状態、Runtime、仮想端末データ、Xcodeの参照先を順番に確認する方が効率的です。

最初はxcrun simctl shutdown all、別端末での確認、問題端末の再作成を試し、それでも改善しない場合にRuntimeやCommand Line Tools、Xcode・macOSの互換性まで確認してください。

Simulatorの問題は端末単位で発生することも多いため、「別のSimulatorでも同じ症状が出るか」を最初に確認すると、原因をかなり早く絞り込めます。