Реакция-родной run-ios не может найти симулятор

Я столкнулся с проблемой, при которой не запускаются "реакции-собственные run-ios", независимо от симулятора, который я добавляю к аргументу --simulator. 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)

Реактивная информация

>   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

Ответ 1

Я нашел временное исправление:

В следующем файле:

/node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js

... изменить строку 42 на:

if (!version.startsWith('com.apple.CoreSimulator.SimRuntime.iOS') && !version.startsWith('tvOS')) {

Ответ 2

Обновление

Это исправлено в v1.9.8.

Обновление cli - простое решение

npm install -g [email protected]

Эта проблема исправлена, но еще не выпущена. https://github.com/react-native-community/react-native-cli/pull/274

Так что это может быть решено временно, чтобы исправить файл ниже.

/node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js

Измените эту строку

if (!version.startsWith('iOS') && !version.startsWith('tvOS')) {

в

if (!version.includes('iOS') && !version.includes('tvOS')) {

Не забудьте применить это снова при переустановке пакетов.

Ответ 3

Попробуйте этот скрипт из Терминала

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

Теперь бегите

react-native run-ios

Ответ 4

Просто делать

npm install

Затем он покажет предупреждения, а затем исправит их с помощью следующей команды

npm audit fix

Ответ 5

Я пробовал как ниже

Откройте Xcode. Затем Preferences → Выберите Components во вкладках.

Затем установите любой из (или более) доступных симуляторов в списке. Желательно последний наверху.

Это решает проблему.