React Native Change Default iOS Simulator Device


158

このコマンドを実行すると:

react-native run-ios

私のアプリはデフォルトでiPhone6シミュレーターデバイスで実行されます。

Found Xcode project RN.xcodeproj
Launching iPhone 6 (9.2)...

デフォルトでアプリを別のシミュレーターデバイス(iPhone5sなど)で実行するにはどうすればよいですか?


Xcode-> Product-> Destination ??
zipzit 2016年

2
デフォルトのデバイスの設定方法はわかりませんが、実行後react-native run-iosはでデバイスを変更できますSimulator > Hardware > Device > iOS x.x > iPhone 5。これは、シミュレータを終了するまで機能します。
sealskej 2017年

回答:


394

--simulatorフラグを使用してシミュレータを指定します。

iOS 12.0以降で利用可能なデバイスは次のとおりです。

npx react-native run-ios --simulator="iPhone 5s"
npx react-native run-ios --simulator="iPhone 6"
npx react-native run-ios --simulator="iPhone 6 Plus"
npx react-native run-ios --simulator="iPhone 6s"
npx react-native run-ios --simulator="iPhone 6s Plus"
npx react-native run-ios --simulator="iPhone 7"
npx react-native run-ios --simulator="iPhone 7 Plus"
npx react-native run-ios --simulator="iPhone 8"
npx react-native run-ios --simulator="iPhone 8 Plus"
npx react-native run-ios --simulator="iPhone 11"
npx react-native run-ios --simulator="iPhone 11 Pro"
npx react-native run-ios --simulator="iPhone 11 Pro Max"
npx react-native run-ios --simulator="iPad Pro (9.7-inch)"
npx react-native run-ios --simulator="iPad (7th generation)"
npx react-native run-ios --simulator="iPad Pro (11-inch)"
npx react-native run-ios --simulator="iPad Pro (12.9-inch)"
npx react-native run-ios --simulator="iPad Air (3rd generation)"
npx react-native run-ios --simulator="iPad Pro (11-inch) (1st generation)"

利用可能なすべてのiOSデバイスを一覧表示します。

xcrun simctl list devices

現在、デフォルトを設定する方法はありません。

React Native Docs:Simulatorで実行する


thnxはそれを助けました
Lakshaya Maheshwari

2
そして、あなたが望むなら; react-native run-ios --simulator="iPad Air"
Burak Tokak 2017

22
利用可能なすべてのデバイスを表示するには、ここでxcrun simctl list devices詳細情報を使用できます
robd

1
同じ名前のシミュレータが複数ある場合(例:iPhone 6s for ios 11、iPhone 6s for ios 12など)は、
Xcode-

何故「iPad Pro」が複数あるのですか?
kojow7

48

ファイルの要素にエントリを追加することで、npmを使用することもできます。例えばscriptspackage.json

"launch-ios": "react-native run-ios --simulator \"iPad Air 2\""

次に、これを使用するには: npm run launch-ios


3
私見これは、コード/バージョン管理に構成を保存できるので、これが最良の答えです。コマンドライン構文を覚える必要がないことを意味します。
Nick

1
私はこの答えに同意します。またsinglequotesとのことで得ることができます: "launch-ios": "react-native run-ios --simulator 'iPad Air 2'"
lfkwtz

24

あなたが狩りをするならば、プロジェクト設定があります:

{project}/node_modules/react-native/local-cli/runIOS/runIOS.js

中には以下module.exportsを含むいくつかのオプションがあります:

options: [{ command: '--simulator [string]', description: 'Explicitly set simulator to use', default: 'iPhone 7', }

鉱山は231行目で、有効なインストール済みのシミュレータに設定して react-native run-ios実行すると、デフォルトでそのシミュレータで実行されます。


5
これは実際に機能しましたが、ファイルは{project} / node_modules / react-native / local-cli / runIOS /内に隠されていました
Matej Ukmar 2017

素晴らしいソリューション。ありがとう!
Ahmet Ardal 2017

ノードモジュールフォルダーの下には、実際にはそのモジュールはありません。
Abdul Sadik Yalcin

1
うん、"runArguments": [ "--simulator", "iPhone 5s" ]私の起動設定に追加すると完璧に動作しました。
缶Poyrazoğlu

22

~/.bash_profileファイルでエイリアスを作成できます。

alias rn-ios="react-native run-ios --simulator \"iPhone 5s (10.0)\""

次に、作成したエイリアスを使用してreact-nativeを実行します。

$ rn-ios


15

1)シミュレータの名前を変更します。シミュレータの名前が同じでiOSバージョンが異なる場合

Xcode -> Window -> Devices and Simulators -> Simulators.

ここに画像の説明を入力してください

2)反応ネイティブプロジェクトフォルダーを開きます

3)package.jsonを編集します

"scripts": {
    "start": "node node_modules/react-native/local-cli/cli.js start",
    "test": "jest",
    "flow": "node_modules/.bin/flow",
    "start-iphone6": "react-native run-ios --simulator \"iPhone 6 11.3\""
}

4) npm run start-iphone6


5

Ian Lが回答したように、NPMを使用してスクリプトを管理しています。

例:

{
  "scripts": {
    "ios": "react-native run-ios --simulator=\"iPad Air 2\"",
    "devices": "xcrun simctl list devices"
  }
}

このようにして、必要なものをすばやく入手できます。

  1. すべてのデバイスを一覧表示します。 npm run devices
  2. デフォルトのシミュレーターを実行します。 npm run ios

3

これは、変更する必要があるiOSシミュレータを変更するための新しいパスです

default: 'iPhone 6' or something else 

道:

<project_root>/node_modules/@react-native-community/cli/build/commands/runIOS/runIOS.js


0

正しいiOSシミュレーターのバージョン番号を指定するXCode 10.2に問題があったため、次のように使用しました。

react-native run-ios --simulator='iPhone X (com.apple.CoreSimulator.SimRuntime.iOS-12-1)'

0

デフォルトのデバイスを変更して、react-native run-iosのみを実行する必要がある場合は、ファインダーでキーワード「runios」を検索してから、フォルダーを開き、index.jsファイルを修正して、必要なデバイスに「iphone X」を変更します。

[1]:https://i.stack.imgur.com/BCtR1.png


0

このコマンドでデバイスリストを取得する

xcrun simctl list devices

コンソール

== Devices ==
-- iOS 13.5 --
    iPhone 6s (9981E5A5-48A8-4B48-B203-1C6E73243E83) (Shutdown) 
    iPhone 8 (FC540A6C-F374-4113-9E71-1291790C8C4C) (Shutting Down) 
    iPhone 8 Plus (CAC37462-D873-4EBB-9D71-7C6D0C915C12) (Shutdown) 
    iPhone 11 (347EFE28-9B41-4C1A-A4C3-D99B49300D8B) (Shutting Down) 
    iPhone 11 Pro (5AE964DC-201C-48C9-BFB5-4506E3A0018F) (Shutdown) 
    iPhone 11 Pro Max (48EE985A-39A6-426C-88A4-AA1E4AFA0133) (Shutdown) 
    iPhone SE (2nd generation) (48B78183-AFD7-4832-A80E-AF70844222BA) (Shutdown) 
    iPad Pro (9.7-inch) (2DEF27C4-6A18-4477-AC7F-FB31CCCB3960) (Shutdown) 
    iPad (7th generation) (36A4AF6B-1232-4BCB-B74F-226E025225E4) (Shutdown) 
    iPad Pro (11-inch) (2nd generation) (79391BD7-0E55-44C8-B1F9-AF92A1D57274) (Shutdown) 
    iPad Pro (12.9-inch) (4th generation) (ED90A31F-6B20-4A6B-9EE9-CF22C01E8793) (Shutdown) 
    iPad Air (3rd generation) (41AD1CF7-CB0D-4F18-AB1E-6F8B6261AD33) (Shutdown) 
-- tvOS 13.4 --
    Apple TV 4K (51925935-97F4-4242-902F-041F34A66B82) (Shutdown) 
-- watchOS 6.2 --
    Apple Watch Series 5 - 40mm (7C50F2E9-A52B-4E0D-8B81-A811FE995502) (Shutdown) 
    Apple Watch Series 5 - 44mm (F7D8C256-DC9F-4FDC-8E65-63275C222B87) (Shutdown) 

ここでは、IDのないシミュレータ文字列を選択します。

iPad Pro(12.9インチ)(第4世代)

最終コマンド

iPhone

•iPhone 6s

react-native run-ios --simulator="iPhone 6s"

•iPhone 8

react-native run-ios --simulator="iPhone 8"

•iPhone 8 Plus

react-native run-ios --simulator="iPhone 8 Plus"

•iPhone 11

react-native run-ios --simulator="iPhone 11"

•iPhone 11 Pro

react-native run-ios --simulator="iPhone 11 Pro"

•iPhone 11 Pro Max

react-native run-ios --simulator="iPhone 11 Pro Max"

•iPhone SE(第2世代)

react-native run-ios --simulator="iPhone SE (2nd generation)"

iPad

•iPad Pro(9.7インチ)

react-native run-ios --simulator="iPad Pro (9.7-inch)"

•iPad(第7世代)

react-native run-ios --simulator="iPad (7th generation)"

•iPad Pro(11インチ)(第2世代)

react-native run-ios --simulator="iPad Pro (11-inch) (2nd generation)"

•iPad Pro(12.9インチ)第4世代

react-native run-ios --simulator="iPad Pro (12.9-inch) (4th generation)"

•iPad Air(第3世代)

react-native run-ios --simulator="iPad Air (3rd generation)"
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.