🫧

ReactNative iOS シミュレーター起動

2024/10/25に公開

はじめに

ReactNativeでiOSのシュミレーターを起動する際にエラーが出たので、記載しておこうと思います。

エラー内容

$ npx expo start でiを押したら下記のエラーが出ました。

Error: xcrun simctl boot XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXX exited with non-zero code: 2
An error was encountered processing the command (domain=NSPOSIXErrorDomain, code=2):
Unable to boot device because we cannot determine the runtime bundle.
No such file or directory

訳: エラー: xcrun simctl boot XXXXXXXX-XXXXXX-XXXXXX-XXXXXXXX がゼロ以外のコードで終了しました:2
コマンド処理中にエラーが発生しました(domain=NSPOSIXErrorDomain, code=2):
ランタイムバンドルを特定できないため、デバイスをブートできません。
そのようなファイルまたはディレクトリがありません

エラー解消

Xcodeを開いてください。
シミュレータがどのiOSバージョンに対応しているかを確認します。
下記のコマンドを実行すると

$ xcrun simctl list runtimes

下記の文言が表示されます。
これは、どのバージョンのiOSがシミュレータにインストールされているかを示します。

== Runtimes ==
iOS 18.0 (18.0 - 0000000) - com.apple.CoreSimulator.SimRuntime.iOS-18-0    

こちらから、iOSが18.0というのがわかりました。

下記のコマンドを実行して

$ xcrun simctl create "iPhone 14" com.apple.CoreSimulator.SimDeviceType.iPhone-14 com.apple.CoreSimulator.SimRuntime.iOS-18-0

新しいシミュレータデバイスを作成します。今回はiPhone 14で作成します。

表示された新しいデバイスIDを記録します。

XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXX

先ほど記録したIDを<新しいデバイスID>のところに記入し、実行します。

xcrun simctl boot <新しいデバイスID>
xcrun simctl boot XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXX

これで$ npx expo start でiを押すと、無事にiPhone 14のシュミレーターが立ち上がります🎉

まとめ

ReactNativeでiOSのシュミレーターを起動する際にでたエラーを解消しました。
Androidはまだ立ち上がってないので、出来次第こちらに追加していきます。

Discussion