I have been facing an issue where 'react-native run-ios' can not start, regardless of the simulator I add to the --simulator argument. XCode has the correct location for the 'command line tools'
I am always getting the error: Could not find iPhone X simulator
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)
react-native info
> 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
I've found a temporary fix:
In the following file:
/node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js
...change line 42 to:
if (!version.startsWith('com.apple.CoreSimulator.SimRuntime.iOS') && !version.startsWith('tvOS')) {
Update
It is fixed in v1.9.8.
Update cli is the easy solution
npm install -g react-native-cli@latest
This issue is fixed but not released yet. https://github.com/react-native-community/react-native-cli/pull/274
So it can be solved temporarily to fix the file below.
/node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js
Change this line
if (!version.startsWith('iOS') && !version.startsWith('tvOS')) {
to
if (!version.includes('iOS') && !version.includes('tvOS')) {
Do not forget apply this again when you reinstall packages.
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
Just do
npm install
Then it will show warnings, then fix them by using following command
npm audit fix
来源:https://stackoverflow.com/questions/54507749/react-native-run-ios-can-not-find-any-simulator