执行此命令时:

react-native run-ios

我的应用程序在iPhone6模拟器设备中默认运行:

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

如何在默认情况下让应用程序在不同的模拟器设备(如iPhone5s)中运行?


当前回答

你可以使用

npx react-native run-ios --simulator="iPhone 14"

或者转到xcode,添加一个新的模拟器,名称为“iPhone 6(9.2)” (如果你不想每次都添加——simulator="iPhone 14")

其他回答

您可以在~/处创建别名。bash_profile文件:

alias rn-ios="react-native run-ios——模拟器\"iPhone 5s (10.0)\""

然后使用创建的别名运行react-native:

rn-ios美元

为此我开发了CLI工具。你只需输入“rndcli”。然后选择设备

https://github.com/nazrdogan/rndcli

修改/node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js的行代码

线55

  if (
    simulator.availability !== '(available)' &&
    simulator.isAvailable !== true
  ) {
    continue;
  }

取代的:

   if (
                simulator.availability !== '(available)' &&
                simulator.isAvailable !== true
              ) {
                continue;
     }

1)重命名你的模拟器,如果模拟器与相同的名称,但不同的iOS版本

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

2)打开react原生项目文件夹

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 start-iphone6

正如Ian L所回答的,我也使用NPM来管理我的脚本。

例子: { "脚本":{ “ios”:“react-native run-ios——模拟器=\"iPad Air 2\"", “设备”:“xcrun simctl list设备” } }

这样,我可以很快得到我需要的东西:

列出所有设备:npm run devices 运行默认模拟器:npm Run ios