XcodeでSimulatorを起動したときに「runtime profile not found using “System” match policy」と表示され、iOS・tvOS・watchOS・visionOSのシミュレータを使えなくなることがあります。Appleは、Xcode 15で使用していたSimulatorランタイムが一部のmacOSシステムアップデートによって無効化された場合に発生すると案内しています。ここでは、エラーの確認から公式の復旧手順、確認方法までを解説します。
表示されるエラー
The com.apple.CoreSimulator.SimRuntime.iOS-17-2 simulator runtime is not available.
Domain: com.apple.CoreSimulator.SimError
Code: 401
Failure Reason: runtime profile not found using "System" match policy
Recovery Suggestion: Download the com.apple.CoreSimulator.SimRuntime.iOS-17-2 simulator runtime from the Xcode
OS名やバージョンは環境によって変わります。重要なのは、com.apple.CoreSimulator.SimError、Code: 401、runtime profile not found using "System" match policyの組み合わせです。
原因と発生条件
Apple Developer ForumsのDTS Engineerによる公式案内では、一部のMacに配信されたmacOSシステムアップデートが、Xcode 15で使われていたSimulatorランタイムを無効化したことが原因です。Swiftコード、署名、Deployment Target、DerivedDataが直接の原因ではありません。
公式に確認されている範囲:Xcode 15系で利用するiOS、tvOS、watchOS、visionOSのSimulatorランタイムです。AppleはXcode 15.3のリリースノートを更新し、Xcode 15.4のリリースノートにも掲載しました。別世代のXcodeで同じ文言が出た場合は、ランタイムを確認しつつ、そのXcodeのリリースノートも確認してください。
推奨する解決手順
1. Macを再起動する
Appleが最初に案内している操作は、XcodeだけでなくMac本体の再起動です。macOSアップデート後に無効化されたランタイムの状態を更新します。
2. XcodeのPlatformsを確認する
- Xcodeを起動します。
- Xcode > Settings(旧バージョンではPreferences)を開きます。
- Platformsを選択します。
- エラーに表示されたOSバージョンのSimulatorランタイムがインストール済みか確認します。
3. ランタイムを再ダウンロードする
必要なランタイムが見つからない場合は、該当項目のGetボタンを押して再ダウンロードします。十分なストレージ空き容量と安定した通信環境を確保してください。完了後にXcodeを再起動し、実行先を選び直します。
コマンドラインで確認する
CoreSimulatorが認識しているランタイムは次のコマンドで確認できます。
xcrun simctl list runtimes
目的のランタイムが一覧にあり、末尾に(unavailable)がなければ利用可能です。複数のXcodeを入れている場合は参照先も確認します。
xcode-select -p
xcodebuild -version
別のXcodeを参照している場合は、Xcode > Settings > Locations > Command Line Toolsで意図したXcodeを選びます。
代替策
- 実機で一時的に検証する:署名と接続条件を満たすiPhoneなどで実行します。
- 別のインストール済みランタイムを使う:テスト要件を満たす別OSを一時的に利用できます。ただし、対象OS固有の確認には使えません。
- 対応する安定版Xcodeへ更新する:Swift、SDK、CIの互換性を確認してから行います。Code 401に対するAppleの直接的な手順は、再起動とPlatformsからの再取得です。
解決を確認する方法
xcrun simctl list runtimesで対象ランタイムが利用可能になったことを確認します。- Xcodeの実行先から該当OSのSimulatorを選びます。
- 元のプロジェクトまたは検証用プロジェクトをBuild & Runします。
- Simulatorが起動し、Code 401が再表示されないことを確認します。
ランタイムは利用可能なのに特定のSimulatorデバイスだけ失敗する場合は、デバイス定義が別途壊れている可能性があります。新しいデバイスを作成して切り分けてください。
注意点
DerivedDataの削除は第一の解決策ではありません。このエラーはCoreSimulatorランタイムの利用可否を示し、アプリのビルドキャッシュとは層が異なります。/Library/Developer/CoreSimulatorなどの手動削除は、正常なランタイムまで壊すおそれがあります。
「現在のmacOSではこのランタイムをサポートしない」など別のエラーが併記される場合は、再ダウンロードだけでは解決しないことがあります。対応するXcode・macOS・SDKの組み合わせを確認してください。Appleは復旧策を示しており、特定の修正版番号は示していません。
まとめ
SimError Code: 401が表示されたら、Macを再起動し、XcodeのSettings(Preferences)> Platformsで対象ランタイムを確認します。消えていればGetから再ダウンロードし、simctlと実際のBuild & Runの両方で復旧を確認してください。
