如何获得“ react-native-cli”以在指定硬件上运行我的应用程序?

时间:2018-07-08 16:49:53

标签: ios react-native webstorm

React Native CLI将不会运行指定的模拟器。当我输入

/usr/local/bin/node /usr/local/lib/node_modules/react-native-cli run-ios ‑‑simulator="iPhone X"

模拟器运行正常,但是无论我指定的simulator是什么,它都坚持在iPhone 6上运行,并且如果我从模拟器应用程序的菜单中选择其他硬件,则启动的硬件不会显示我的项目。 (实际上,如果我使用的是iPhone X,它会显示一个我之前使用过的应用。)

我已经卸载并重新安装了react-native-cli,并且没有其他全局ios-sim(尽管我只有一个)。

如何让react-native-cli在指定的硬件上运行我的应用程序?


遇到这些错误的起点很简单,就是(1)安装react-native-cli,(2)安装WebStorm,(3)在此处构建默认的React Native项目,以及(4)使用默认的运行该项目iOS在那里运行配置。 (WebStorm 2018.1.5; macOS 10.13.5; React Native CLI 2.0.1;节点10.6.0)

1 个答案:

答案 0 :(得分:4)

CLI经历了一些简单的步骤,您可以逐步完成here

第一个参数是从命令行运行此命令的输出: xcrun simctl list --json devices

运行上面的xcrun命令后,首先要检查的几件事:

  • 您看到“ iOS”开头的多个子节点吗?如果是这样,您可能已安装了多个版本的模拟器。 CLI只会查看找到的以“ iOS”开头的第一个版本。因此,如果该特定版本中只有一个模拟器,那么您将一直都得到那个模拟器。
  • 找到iPhone 6模拟器,它是否显示stateBooted?如果是这样,则在未提供模拟器名称的情况下优先考虑
  • iPhone X模拟器availability是否列为(available)
  • 您是否重新启动计算机以杀死任何过时的模拟器进程?这也应该重置模拟器的stateavailability状态

除此之外,cli进行了非常简单的检查:

  • 如果启动了模拟器但未提供名称,请​​启动该模拟器。

  • 如果使用name属性未找到名称匹配项,则启动列表中的第一个模拟器