私はexpo
とreact-native
アプリをIOSシミュレーター(expo内))から実行すると、常にIphoneXが起動します。シミュレーターを変更する必要がある場合は、Xcodeで開く必要があります。デフォルトのシミュレータを変更できますか?
現在、Expoからシミュレータを変更する方法はありません。 ExpoはXcodeで最後に開いたシミュレーターを使用します。
それがうまくいかない場合、これを試してください(私のコメントからここに更新されました):
シミュレーターが開いたら、ハードウェア>デバイス>他のiPhoneを選択をクリックします。
これで両方が開きます。次に、ドックからシミュレーターを終了します。
可能ですが、コマンドラインからターゲットにすることはできません。 Expoは最後に開かれたシミュレーターのみをターゲットにします。
Hardware> Deviceをクリックして、希望するデバイスを選択します
これで、2つのシミュレーターが開かれました、希望するシミュレーターがアクティブであることを確認してください
Command + Qでシミュレータアプリを終了します
これで、expoサーバーを実行するときにコマンドラインで、iをクリックするだけです。
シミュレーターは、ターゲットデバイスで開きます。
Xcodeを使用して望ましいシミュレーターを開き、実行するだけです:npm run ios
プロジェクトディレクトリまたは同様のコマンドからアプリを起動します
開いているiOSシミュレータデバイスを変更すると、Expoはそれを使用します。
Expoは出力をオープンiOSシミュレーターに送信するため、Expoではなくシミュレーター自体で実行する必要があります。簡単です。エキスポの出力をさまざまなデバイスに送信できます。方法は次のとおりです。ところで、ここで説明した他のアプローチは、私がそれらを試したときにうまくいきませんでした。
IOSシミュレーターで2番目のシミュレーターを開くには:
1)例えば、シミュレーター->ハードウェア->デバイス-> iOS12.1-> iPhone 8
2)使用したくないシミュレータを選択します(たとえば、執筆時点での現在のデフォルト、iPhone XR)。 Command-Wを押してシミュレーターウィンドウを閉じ、iPhone 8シミュレーターを実行したままにします。
3)Expoで、コマンドラインでiを使用するか、Expoのブラウザーバージョンから「iOSシミュレーターで実行」を選択して、コードを通常どおりシミュレーターにデプロイします。
4)同時に実行されている複数のシミュレーターにエキスポを表示することが可能です(たとえば、複数の画面サイズでレンダリングをテストするため)。 1つのデバイスでエキスポを実行すると(手順1〜3)、追加のデバイス(またはそれ以上)で繰り返すことができます。その後、Expoは複数のシミュレータで実行されます。それらは同時に出力を表示します。コードを変更すると、追加の手順を必要とせずに、複数のシミュレーター/画面サイズにすぐに更新されます。これを最も簡単に実行するための手順の順序を正確に再テストしていませんが、機能しています。
これがあなたのために働くことを望みます!