react-native run-ios无法找到任何模拟器

eri*_* f. 12 ios ios-simulator react-native

我一直面临着一个问题,即无论我添加到--simulator参数中的模拟器如何,“ react-native run-ios”都无法启动。XCode具有“命令行工具”的正确位置

我总是遇到错误:找不到iPhone X模拟器

Error: Could not find iPhone X simulator
    at resolve (/Users/eric/.../swim/node_modules/react-native/local-cli/runIOS/runIOS.js:149:13)
    at new Promise (<anonymous>)
    at runOnSimulator (/Users/eric/.../swim/node_modules/react-native/local-cli/runIOS/runIOS.js:134:10)
    at Object.runIOS [as func] (/Users/eric/.../swim/node_modules/react-native/local-cli/runIOS/runIOS.js:106:12)
    at Promise.resolve.then (/Users/eric/.../swim/node_modules/react-native/local-cli/cliEntry.js:117:22)
Run Code Online (Sandbox Code Playgroud)

反应性信息

>   React Native Environment Info:
>     System:
>       OS: macOS 10.14.2
>       CPU: (12) x64 Intel(R) Core(TM) i9-8950HK CPU @ 2.90GHz
>       Memory: 6.76 GB / 32.00 GB
>       Shell: 3.2.57 - /bin/bash
>     Binaries:
>       Node: 10.15.0 - /usr/local/bin/node
>       Yarn: 1.13.0 - /usr/local/bin/yarn
>       npm: 6.4.1 - /usr/local/bin/npm
>     SDKs:
>       iOS SDK:
>         Platforms: iOS 12.1, macOS 10.14, tvOS 12.1, watchOS 5.1
>     IDEs:
>       Android Studio: 3.1 AI-173.4819257
>       Xcode: 10.1/10B61 - /usr/bin/xcodebuild
>     npmPackages:
>       react: 16.6.3 => 16.6.3 
>       react-native: 0.57.8 => 0.57.8 
>     npmGlobalPackages:
>       create-react-native-app: 1.0.0
>       react-native-cli: 2.0.1
>       react-native-git-upgrade: 0.2.7
Run Code Online (Sandbox Code Playgroud)

Jef*_*ang 27

更新资料

在v1.9.8中已修复。

更新CLI是简单的解决方案

npm install -g react-native-cli@latest
Run Code Online (Sandbox Code Playgroud)

此问题已修复,但尚未发布。 https://github.com/react-native-community/react-native-cli/pull/274

因此可以临时解决修复以下文件的问题。

npm install -g react-native-cli@latest
Run Code Online (Sandbox Code Playgroud)

更改此行

if (!version.startsWith('iOS') && !version.startsWith('tvOS')) {
Run Code Online (Sandbox Code Playgroud)

if (!version.includes('iOS') && !version.includes('tvOS')) {
Run Code Online (Sandbox Code Playgroud)

重新安装软件包时,请不要忘记再次应用此功能。


eri*_* f. 25

我找到了一个临时解决方法:

在以下文件中:

/node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js
Run Code Online (Sandbox Code Playgroud)

...将第42行更改为:

if (!version.startsWith('com.apple.CoreSimulator.SimRuntime.iOS') && !version.startsWith('tvOS')) {
Run Code Online (Sandbox Code Playgroud)


omp*_*080 5

Try this script from Terminal

sed -i '' 's/startsWith/includes/g' node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js

Now run

react-native run-ios
Run Code Online (Sandbox Code Playgroud)


Sat*_*amy 5

我试过如下

打开Xcode。然后Preferences->Components在选项卡中选择。

然后安装列表中的任何一个(或多个)可用模拟器。最好是最近的一个在顶部。

它解决了这个问题。