react-native iosで特定のバージョンのシミュレータを起動する

$ react-native run-iosの挙動。Xcodeから起動する場合はそもそもデバイス選択するので問題ない。

別デバイスでの起動は検索してよく出てくるけれど、旧iOSでテストしたい時に検索しても見当たらなかったのでメモ。

xcodeはVersion 9.3

tl;dr

バージョンごとにシミュレータに名前をつけて,

1
$ react-native run-ios --simulator="iPhone6s - iOS 10.3"

ってシミュレータを指定して起動すれば良い。

チュートリアル

1, シミュレータ用のOSをダウンロード

Hardware->Device->Manage Devicesを押してxcodeのデバイス管理画面を開きます。

タブでSimulatorsに切り替えると、インストール済みのシミュレータが左に並びます。

目的のOSバージョンのシミュレータがすでに表示されていればそのまま2へ。

まだインストールされていない場合は左下の+から新規Device追加画面を開きます。

Simulator NameとDevice Type、OS VersionとあるのでOS Versionのプルダウンを選択し、Download more simulator runtimes… を選択

xcodeの環境設定のComponentsタブが開くので、欲しいos versionを選択してinstall. rootのパスワードとか聞かれるかも

無事、インストールできると、デバイス管理画面の方で各デバイスのOSバージョン違いが登録されているはず。
ぱっと見、重複して見える.

2, os バージョン毎にsimulatorに名前をつける

同じ名前のsimulatorが複数並んでいると勝手に選ばれてしまうので、わかりやすく名前をつけてあげましょう.

左に並んだシミュレータを右クリックし、Rename.

“iPhone 6s - iOS10.3”などとわかりやすくバージョン名でも追記してあげましょう。

3, 指定した名前のSimulatorでrun-ios

run-iosは–simulatorオプションでシミュレータの名前を指定できます。

1
$ react-native run-ios --simulator="iPhone6s - iOS 10.3" //上で指定した名前

とすれば、目的のiOSバージョンのシミュレータを扱えます。