<p>react-native run-ios no puede encontrar ningún simulador</p>

Creado en 3 feb. 2019  ·  107Comentarios  ·  Fuente: facebook/react-native

Medio ambiente


Reaccionar la información del entorno nativo:
Sistema:
SO: macOS 10.14.2
CPU: (12) CPU Intel (R) Core (TM) i9-8950HK x64 a 2,90 GHz
Memoria: 6,76 GB / 32,00 GB
Shell: 3.2.57 - / bin / bash
Binarios:
Nodo: 10.15.0 - / usr / local / bin / node
Hilado: 1.13.0 - / usr / local / bin / yarn
npm: 6.4.1 - / usr / local / bin / npm
SDK:
SDK de iOS:
Plataformas: iOS 12.1, macOS 10.14, tvOS 12.1, watchOS 5.1
IDE:
Estudio de Android: 3.1 AI-173.4819257
Xcode: 10.1 / 10B61 - / usr / bin / xcodebuild
npm Paquetes:
reaccionar: 16.6.3 => 16.6.3
reactivo nativo: 0.57.8 => 0.57.8
npmGlobalPackages:
crear-reaccionar-aplicación-nativa: 1.0.0
react-native-cli: 2.0.1
react-native-git-upgrade: 0.2.7

Descripción


Me he enfrentado a un problema en el que 'react-native run-ios' no puede iniciarse, independientemente del simulador que agregue al argumento --simulator.
XCode tiene la ubicación correcta para las 'herramientas de línea de comando'

Siempre recibo el error:
No se pudo encontrar el simulador de 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)

Demo reproducible


XCode instalado desde cero.
Nueva 'nueva aplicación nativa de reacción'

'react-native run-ios' siempre se queja de no encontrar el simulador, independientemente de la opción --simulator.

Mi solución temporal es cambiar:
/node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js

línea 42, a:
if (! version.startsWith (' com.apple.CoreSimulator.SimRuntime. iOS') &&! version.startsWith ('tvOS')) {

Bug iOS Locked

Comentario más útil

Tiene problemas para realizar la búsqueda de cadenas en la versión del simulador en node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js en esta línea: if (!version.startsWith('iOS') .

Lo reemplacé con includes como tal: if (!version.includes('iOS') que parece haber resuelto el problema para mí.

Todos 107 comentarios

Parece que está utilizando una versión anterior de React Native. Actualice a la

La etiqueta "Resolución: Versión anterior" se eliminará automáticamente una vez que edite su publicación original con los resultados de ejecutar react-native info en un proyecto con la última versión.

acabo de probar un nuevo proyecto con:
react-nativo: 0.58.3 => 0.58.3

y el mismo problema

  1. ¿Puede comprobar qué simulador de iOS está instalado en su máquina?
  2. Siempre puede pasar a qué simulador desea apuntar a través de react-native run-ios —device=“XXXXXX’

Aquí también tengo el mismo problema.
Cuando me cambié a
if (! version.includes ('iOS') &&! version.includes ('tvOS')) {
Seguir;
}

todo está bien, ya que el prefijo "com.apple.CoreSimulator.SimRuntime". está incluido en la lista de dispositivos, la verificación pura para startsWith falla para todos los simuladores.

Creé una solicitud de extracción https://github.com/facebook/react-native/pull/23293 para este problema

¡Hola @osunnarvik, gracias por crear el PR! ¿Podrías explicar un poco más (quizás en las relaciones públicas) por qué está sucediendo esto ahora? Quiero decir, ¿cuándo cambió el prefijo? ¿En el último Xcode? 🤔

He actualizado la descripción del PR ahora para decir un poco sobre cuándo comenzó a suceder y agregué información de la versión de XCode y xcrun

@kelset sí, creo que el formato de la lista de dispositivos ha cambiado con el último XCode.

Impresionante, gracias amigos :)

Ya hemos fusionado el PR a 0.58 (ya que 0.59, etc. tendrán la CLI separada) y la próxima versión del parche (0.58.4) tendrá la solución 💪

@kelset Noté el comentario en https://github.com/react-native-community/react-native-cli/pull/138 con respecto a cuándo especificas simulatorString (comentario de @canterberry ). Solo verifiqué con simulatorString vacío y no con un conjunto. Avíseme si desea que eche un vistazo al caso en el que se establece simulatorString.

Oh, sí, probablemente sería mejor tener el cheque también cuando la cadena está configurada. 🤔

ok, echaré un vistazo mañana por la mañana.

Creé https://github.com/facebook/react-native/pull/23305 para manejar versiones de entrada con puntos para simulatorString

@osunnarvik Este problema todavía está presente en la versión 0.59.1 de react-native

Tiene problemas para realizar la búsqueda de cadenas en la versión del simulador en node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js en esta línea: if (!version.startsWith('iOS') .

Lo reemplacé con includes como tal: if (!version.includes('iOS') que parece haber resuelto el problema para mí.

Tiene problemas para realizar la búsqueda de cadenas en la versión del simulador en node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js en esta línea: if (!version.startsWith('iOS') .

Lo reemplacé con includes como tal: if (!version.includes('iOS') que parece haber resuelto el problema para mí.

Funciona para mí, gracias.

Tiene problemas para realizar la búsqueda de cadenas en la versión del simulador en node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js en esta línea: if (!version.startsWith('iOS') .

Lo reemplacé con includes como tal: if (!version.includes('iOS') que parece haber resuelto el problema para mí.

genial gracias !!

Tiene problemas para realizar la búsqueda de cadenas en la versión del simulador en node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js en esta línea: if (!version.startsWith('iOS') .

Lo reemplacé con includes como tal: if (!version.includes('iOS') que parece haber resuelto el problema para mí.

Realmente no puedo comprender cómo existió esta situación

¿Es esta solución con las nuevas versiones?

@evanoralph Si tiene este problema hoy como yo, puede intentar modificar el findMatchingSimulator.js en node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js .
Primero inicie un simulador, luego ejecute xcrun simctl list --json devices y busque el que tiene "state" : "Booted", .
Luego agregue en la parte superior de la función findMatchingSimulator :

return {
    udid: <uuid from booted device>,
    name: <Name of the booted simulator>,
    booted: true,
    version: "com.apple.CoreSimulator.SimRuntime.iOS-12-2",
}

version puede variar. Pero es la clave principal del objeto del dispositivo arrancado. ¡Pero esto no es una solución! Es una solución.

Tiene problemas para realizar la búsqueda de cadenas en la versión del simulador en node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js en esta línea: if (!version.startsWith('iOS') .

Lo reemplacé con includes como tal: if (!version.includes('iOS') que parece haber resuelto el problema para mí.

Actualizado a macOS 10.14.4 y XCode actualizado a 10.2 y este problema comenzó a sucederme. Su solución ha ayudado (aunque esta es solo una solución temporal).

Tiene problemas para realizar la búsqueda de cadenas en la versión del simulador en node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js en esta línea: if (!version.startsWith('iOS') .

Lo reemplacé con includes como tal: if (!version.includes('iOS') que parece haber resuelto el problema para mí.

¡Increíble! Aunque es temporal, funciona perfectamente. ¡Gracias!

Tiene problemas para realizar la búsqueda de cadenas en la versión del simulador en node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js en esta línea: if (!version.startsWith('iOS') .

Lo reemplacé con includes como tal: if (!version.includes('iOS') que parece haber resuelto el problema para mí.

¡Funciona para mi! ¡Gracias! Si ejecuta un simulador que tiene más de una versión (como iPhone 5s iOS 10.3.1 y 12.2), estas correcciones abrirán todas las versiones de los simuladores. Puede definir una versión usando --simulator "iPhone 5s (10.3)" .

@evanoralph Si tiene este problema hoy como yo, puede intentar modificar el findMatchingSimulator.js en node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js .
Primero inicie un simulador, luego ejecute xcrun simctl list --json devices y busque el que tiene "state" : "Booted", .
Luego agregue en la parte superior de la función findMatchingSimulator :

return {
    udid: <uuid from booted device>,
    name: <Name of the booted simulator>,
    booted: true,
    version: "com.apple.CoreSimulator.SimRuntime.iOS-12-2",
}

version puede variar. Pero es la clave principal del objeto del dispositivo arrancado. ¡Pero esto no es una solución! Es una solución.

la solución me funciona bien ahora, no sé si tengo que actualizar mis proyectos a .59.0

¿Soy el único que no tiene node_modules / react-native / local-cli / runIOS / findMatchingSimulator.js? Solo hay una cosa dentro de la carpeta local-cli, que es el archivo cli.js: ¿alguna idea?

Solo para su información, esto también pareció ayudar, en mi sistema, al tener este problema:

xcrun simctl delete no disponible

Tuve el problema, reemplazar a includes me ayudó. cuando se arreglará?

HHHEEEYYYY ... reemplazo incluye obras !!!!!

@Titozzz ¿ Alguna actualización sobre cuándo se solucionará esto? La solución temporal no es una forma amigable de equipo y git.
Estoy dispuesto a contribuir si alguien me dijera cómo proceder.

@Titozzz @kelset
He investigado mi problema y descubrí que OP presenta un problema diferente aquí.

El problema es que necesito ejecutar mi aplicación en iPad y dado que los nombres de iPad tienen los tamaños de los dispositivos entre paréntesis, por ejemplo. iPad Pro (9.7-inch) , el código cli asume que el tamaño del dispositivo entre paréntesis es la versión en tiempo de ejecución de iOS.

Sugiero que usemos un argumento separado para la versión de ios en tiempo de ejecución o tengamos un tipo de corchete diferente para detectar la versión en tiempo de ejecución.

Mi versión de RN es 0.59.3

Hola, ¿puedes responder preguntas?

¿Soy el único que no tiene node_modules / react-native / local-cli / runIOS / findMatchingSimulator.js? Solo hay una cosa dentro de la carpeta local-cli, que es el archivo cli.js: ¿alguna idea?

@lpfunding aquí: node_modules/@react-native-community/cli/build/commands/runIOS/findMatchingSimulator.js

¡Me alegra que puedas ver mi mensaje! En segundo lugar, ¡muchas gracias por tu respuesta! Pero mi Xcode es la versión 8.1 y tengo simuladores de Xcode además de X, ¡pero cuando compilo el error de terminal no encuentro ningún simulador! Cambié las condiciones de compilación en muchos lugares pero no pude resolver el problema, así que dejé un mensaje de ayuda.

¿Es esta la solución de facto? o hay un PR abierto?

Esto funciona para mí en 0.58.6; Parece que se solucionó en el compromiso 9a8c9596ebe41e27d37ba18d6bf09f1c931c1ff2 🙂

Esto funciona cuando actualiza react-native a v59

Creo que mi problema podría tener que ver con el hecho de que si estás en XCode 10.2.1 (como yo), Apple cambió el nombre del simulador de iPhone XR a iPhone Xʀ (fíjate en la gran "R" frente a la pequeña "ʀ") así que si está intentando apuntar a ese simulador recién renombrado, use react-native run-ios --simulator="iPhone Xʀ" . Gracias Apple ...

@ lcastillo88 oh wow, esa es una buena captura, qué cambio tan extraño 😅

Para cualquiera que tenga problemas con esto porque está intentando ejecutar un simulador de iPad Pro, el problema es que findMatchingSimulator.js piensa que cualquier cosa entre paréntesis es la versión para iOS del simulador que está intentando ejecutar. Entonces está tratando de abrir el simulador iPad Pro con la versión de iOS 10.5-inch (o cualquier simulador que esté intentando ejecutar). Por razones obvias, esto no va a funcionar.

La solución más fácil para esto hasta que se implemente una solución permanente es cambiar el nombre del simulador a algo que no incluya paréntesis. En Xcode, haga clic en Ventana> Dispositivos y simuladores, haga clic en la pestaña Simuladores, luego haga clic con el botón derecho en el simulador con el que está trabajando para cambiarle el nombre.

Para cualquiera que no pueda actualizar RN pero necesite una solución más automatizada, puede usar el siguiente script de shell en su postinstall:

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

Esto nos ayudó a poder ejecutar nuestras pruebas de automatización en nuestro servidor CI.

Solo para asegurarme de que no me he perdido nada: si está en 0.59, este problema está solucionado, ¿correcto?

Específicamente para los simuladores de iPad Pro (o cualquier otro simulador que incluya algo que no sea una versión de iOS entre paréntesis), esto todavía está roto en la última versión de react-native.

Aparte de ese escenario, está funcionando bien.

Tiene problemas para realizar la búsqueda de cadenas en la versión del simulador en node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js en esta línea: if (!version.startsWith('iOS') .

Lo reemplacé con includes como tal: if (!version.includes('iOS') que parece haber resuelto el problema para mí.

increíble, gracias

En caso de que alguien necesite ejecutar una versión de iOS especificada:
react-native run-ios --simulator="iPhone 8 (12-0)"
Era (12.0) antes, pero cambió a 12-0 después de actualizar mi xcode a 10.2.1

Tiene problemas para realizar la búsqueda de cadenas en la versión del simulador en node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js en esta línea: if (!version.startsWith('iOS') .

Lo reemplacé con includes como tal: if (!version.includes('iOS') que parece haber resuelto el problema para mí.

esto funcionó para mí, gracias

pero puedes explicarme el problema

@kelset

Solo para asegurarme de que no me he perdido nada: si está en 0.59, este problema está solucionado, ¿correcto?

Acabo de actualizar a 0.59.8 y funciona [actualizado a través de react-native-git-upgrade ]

Para cualquiera que no pueda actualizar RN pero necesite una solución más automatizada, puede usar el siguiente script de shell en su postinstall:

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

Esto nos ayudó a poder ejecutar nuestras pruebas de automatización en nuestro servidor CI.

Esto funcionó para mi

ESTO PODRÍA SER ÚTIL PARA ALGUIEN QUE AÚN ESTÁ UTILIZANDO

"react-native": "0.52.1"

He solucionado esto con el siguiente cambio.

Ve a este camino.

módulos_nodo / react-native / local-cli / runIOS / findMatchingSimulator.js

Cambiar (el número de línea era 30 para mí )
if (version.indexOf('iOS') !== 0)

A
if (version.indexOf('iOS') === -1)

Estoy usando [email protected] y --simulator = "iPhone 8" no se estaba analizando correctamente. Al agregar un registro de consola, parecía que se analizaba como "iPhone (sin una cita final). Cambié node_modules / react-native / local-cli / runIOS / findMatchingSimulator.js para aceptar un nombre de simulador con un guión bajo en lugar de cualquier espacios.

Esto parece solucionar el problema de análisis que estaba viendo:

$ react-native run-ios --simulator = "iPhone_8"

Hice el siguiente cambio localmente:

function findMatchingSimulator (simuladores, simulatorString) {
if (! simulators.devices) {
devolver nulo;
}
dispositivos const = simulators.devices;

simulatorString = simulatorString.replace ('_', '')

Hoy lo he arreglado en runIOS/findMatchingSimulator.js . 🎉 cambié la línea
if (simulator.availability !== '(available)' && simulator.isAvailable !== 'YES') {
a
if (simulator.availability !== '(available)' && simulator.isAvailable !== true) { .
Parece que la propiedad isAvailable devuelve un valor booleano normal en lugar de YES / NO en la lista de dispositivos.
Por cierto, tuve este problema después de instalar Xcode 11 Beta.

react-native-cli: 2.0.1
react-nativo: 0.59.9

Obtuve el mismo error que no puedo encontrar el simulador.

Causa: al ejecutar react-native run-ios, el nombre predeterminado del simulador es iPhoneX, que no existe en absoluto. El nombre de iPhoneX es iPhoneXs, iPhoneXs Max o iPhoneXR
Solución: modifique el código en node_modules/@react-native-community/cli/build/commands/runIOS/findMatchingSimulator.js

// change this line
// it was if (simulator.name ===simulatorName && !match) {
if (simulator.name.includes(simulatorName) && !match) {
        match = {
          udid: simulator.udid,
          name: simulator.name,
          booted,
          version
        };
      } // Keeps track of the first available simulator for use if we can't find one above.

Mi proyecto todavía usa "react-native": "0.53.3" y para mí el código en "findMatchingSimulator.js" en la carpeta react-native node_modules es

if (version.indexOf('iOS') != 0) {
continue;
}

No lo puedo creer.

Aquí también tengo el mismo problema.
Cuando me cambié a
if (! version.includes ('iOS') &&! version.includes ('tvOS')) {
Seguir;
}

todo está bien, ya que el prefijo "com.apple.CoreSimulator.SimRuntime". está incluido en la lista de dispositivos, la verificación pura para startsWith falla para todos los simuladores.

Gracias Funcionó para mi

Aquí también tengo el mismo problema.
Cuando me cambié a
if (! version.includes ('iOS') &&! version.includes ('tvOS')) {
Seguir;
}

todo está bien, ya que el prefijo "com.apple.CoreSimulator.SimRuntime". está incluido en la lista de dispositivos, la verificación pura para startsWith falla para todos los simuladores.

hola, mi node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js no existe

@ topik96 Mira aquí.

node_modules/@react-native-community/cli/build/commands/runIOS/findMatchingSimulator.js

Nota: Las correcciones anteriores no funcionaron para mí. Lo que hice:

  1. Ejecute este comando xcrun simctl list devices
  2. Verifique el nombre del simulador y la versión de iOS. (En mi caso fue 12.2)
  3. Ahora mi comando se ve así react-native run-ios --simulator='iPad Pro (9.7-inch) (12.2) . Observe la versión de iOS.

Anteriormente, no mencioné la versión de iOS en mi comando de ejecución.

La comprobación de los simuladores disponibles ahora debería ser:
simulator.isAvailable! == verdadero

Creo que mi problema podría tener que ver con el hecho de que si estás en XCode 10.2.1 (como yo), Apple cambió el nombre del simulador de iPhone XR a iPhone Xʀ (fíjate en la gran "R" frente a la pequeña "ʀ") así que si está intentando apuntar a ese simulador recién renombrado, use react-native run-ios --simulator="iPhone Xʀ" . Gracias Apple ...

Trabajó para mi. Gracias.

Aquí también tengo el mismo problema.
Cuando me cambié a
if (! version.includes ('iOS') &&! version.includes ('tvOS')) {
Seguir;
}

todo está bien, ya que el prefijo "com.apple.CoreSimulator.SimRuntime". está incluido en la lista de dispositivos, la verificación pura para startsWith falla para todos los simuladores.

¡Gracias !, ¡funcionó para mí!

Aquí también tengo el mismo problema.
Cuando me cambié a
if (! version.includes ('iOS') &&! version.includes ('tvOS')) {
Seguir;
}
todo está bien, ya que el prefijo "com.apple.CoreSimulator.SimRuntime". está incluido en la lista de dispositivos, la verificación pura para startsWith falla para todos los simuladores.

hola, mi node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js no existe

si está utilizando el nuevo cli en una versión actualizada de React Native, se encontrará aquí en su lugar:

node_modules/@react-native-community/cli/build/commands/runIOS/findMatchingSimulator.js

Hoy lo he arreglado en runIOS/findMatchingSimulator.js . 🎉 cambié la línea
if (simulator.availability !== '(available)' && simulator.isAvailable !== 'YES') {
a
if (simulator.availability !== '(available)' && simulator.isAvailable !== true) { .
Parece que la propiedad isAvailable devuelve un valor booleano normal en lugar de YES / NO en la lista de dispositivos.
Por cierto, tuve este problema después de instalar Xcode 11 Beta.

También instalé 11 Beta. ¿Cree que este script debería marcar tanto YES como true al mismo tiempo?

No pude resolver el problema y necesitaba una solución rápidamente, así que busqué una solución rápida.

console.log los dispositivos y pirateó una devolución

en findMatchingSimulator.js
justo antes de if(match) {return match}

Codifiqué una devolución

  return {
    udid: 'BFBD0FA0-3104-4401-80BE-DC54CD7E3895',
    name: 'iPhone X',
    version: 'com.apple.CoreSimulator.SimRuntime.iOS-12-4'
  }

Aquí también tengo el mismo problema.
Cuando me cambié a
if (! version.includes ('iOS') &&! version.includes ('tvOS')) {
Seguir;
}

todo está bien, ya que el prefijo "com.apple.CoreSimulator.SimRuntime". está incluido en la lista de dispositivos, la verificación pura para startsWith falla para todos los simuladores.

Increíble. Esto funciona a las mil maravillas. ¡Gracias!

Si ve este error:

error Could not find "iPhone X" simulator. Run CLI with --verbose flag for more details.

Vea mi comentario para esta sencilla solución aquí:

error No se pudo encontrar el simulador de iPhone X # 418

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

arreglar para mí.

Haz lo siguiente para solucionar el paso siguiente
react-nativo: 0.52.3

arreglar no puede encontrar emulador

abrir documento
código ./node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js

reemplace version.indexOf ('iOS')! == 0
a! version.includes ('iOS')

Este problema me ha estado ocurriendo en el transcurso de los últimos 4 meses y en versiones de servidor de RN. Por lo general, después de una actualización de algún tipo. Daña mi productividad cada vez.

Hola Jim, ¿verificaste que no tienes un proyecto RN dentro del proyecto RN (archivo
sistema sabio)? Si es así, intente hacer 1 proyecto por carpeta. Esto es lo que
me pasó y una vez quité el segundo proyecto a una carpeta independiente
(usando RN init). Espero que te ayude :)

El sábado 21 de septiembre de 2019 a las 18:28, Jim Hall [email protected] escribió:

Este problema me ha estado ocurriendo durante los últimos 4 meses.
y sobre versiones de servidor de RN. Por lo general, después de una actualización de algún tipo. Eso
daña mi productividad cada vez.

-
Estás recibiendo esto porque comentaste.
Responda a este correo electrónico directamente, véalo en GitHub
https://github.com/facebook/react-native/issues/23282?email_source=notifications&email_token=ADA33H7VQA5DPUSQO6ILB6DQKY4TLA5CNFSM4GUBJ5D2YY3PNVWWK3TUL52HS4DFVREXG43WWMVNX5
o silenciar el hilo
https://github.com/notifications/unsubscribe-auth/ADA33H56N5ML47724MTTPFTQKY4TLANCNFSM4GUBJ5DQ
.

¿El simulador de iPhone X ya no es compatible? Me estaba encontrando con este problema y lo solucioné ejecutando
-simulator="iPhone 11 Pro"

Confirmando las observaciones de @ reza-hashemi, ejecutando instruments -s devices con Xcode 11.0 (11A420a) instalado ya no aparece el iPhone X. El suministro de otros simuladores usando la bandera --simulator funciona.

Parece que la nueva versión de xCode no tiene el simulador de iPhone X agregado por defecto. También puede solucionar el problema por el momento agregando el simulador nuevamente en xCode. En última instancia, la CLI probablemente debería actualizarse para usar iPhone 11.

Después de actualizar a Xcode 11, aparece un error
"No se pudo encontrar el simulador de" iPhone X "."

solución fácil ...

Xcode -> preferencias -> componentes instalar ios 12.2 sumulator

Los pasos de

error: Multiple commands produce '/ios/build/Debug-iphonesimulator/mobile.app/Zocial.ttf':
1) Target 'mobile' (project 'mobile') has copy command from '/node_modules/react-native-vector-icons/Fonts/Zocial.ttf' to '/mobile/ios/build/Debug-iphonesimulator/mobile.app/Zocial.ttf'
2) That command depends on command in Target 'mobile' (project 'mobile'): script phase “[CP] Copy Pods Resources”

Para corregir este segundo conjunto de errores, tuve que abrir el proyecto ios en Xcode -> Archivo -> Configuración del espacio de trabajo -> Sistema de compilación -> (Establecer como heredado).

Después de actualizar Xcode de 10 a 11, también recibí el error 'iPhone X Simulator'. Probé algunos scripts que se encuentran en este hilo y otros sin éxito. Si tiene advertencias en su terminal, intente npm audit fix . Resuelto para mí y arranco ahora sin problema.

Actualizado a xcode 11. No se pudo encontrar el dispositivo.
El problema es interpretar la salida de xcrun simctl list --json devices que utiliza el script para averiguar los dispositivos instalados.
Entró en el código de findMatchingSimulator. en la condición que indica

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

se agregó una nueva forma de isAvailable (que ahora es un booleano simple):

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

esto solucionó las cosas.

Actualizado a xcode 11. No se pudo encontrar el dispositivo.
El problema es interpretar la salida de xcrun simctl list --json devices que utiliza el script para averiguar los dispositivos instalados.
Entró en el código de findMatchingSimulator. en la condición que indica

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

se agregó una nueva forma de isAvailable (que ahora es un booleano simple):

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

esto solucionó las cosas.

Hola. ¿Puedes explicarme, dónde findMatchingSimulator?

Gracias @galkahana ,
eso funcionó para mí.
@TchernyavskyDaniil puede encontrar el archivo en la carpeta de su proyecto node_modules
./node_modules/\@react-native-community/cli/build/commands/runIOS/findMatchingSimulator.js

Gracias @galkahana ,
eso funcionó para mí.
@TchernyavskyDaniil puede encontrar el archivo en la carpeta de su proyecto node_modules
./node_modules/\@react-native-community/cli/build/commands/runIOS/findMatchingSimulator.js

Te referías:
/ cli-platform-IOS / ...?

No puedo encontrar tu camino (runIOS): C

Enfermera 60,4

@TchernyavskyDaniil Estoy corriendo en RN 0.59.9
¿Podrías ejecutar find . -iname findMatchingSimulator.js desde tu línea de comando en la carpeta de tu proyecto?
Si encuentra una @ en la ruta, agregue una barra invertida delante y ábrala usando vim u otro editor.

@TchernyavskyDaniil Estoy corriendo en RN 0.59.9
¿Podrías ejecutar find . -iname findMatchingSimulator.js desde tu línea de comando en la carpeta de tu proyecto?
Si encuentra una @ en la ruta, agregue una barra invertida delante y ábrala usando vim u otro editor.

Sí,
./node_modules/@react-native-community/cli-platform-ios/build/commands/runIOS/findMatchingSimulator.js

Ok, lo intentaré

"No se pudo encontrar el simulador de" iPhone X "."

изображение

Agradable :)

Obteniendo este error en XCode 11. ¡¡Dios bendiga las actualizaciones de software !!

puede actualizar su @ react-native-community / cli a 1.9.8 https://github.com/react-native-community/cli/pull/414#issuecomment -499483963

@maxkomarychev

react-native --version
react-native-cli: 2.0.1
react-native: 0.59.8

@maxkomarychev Estoy usando @react-native-community/[email protected] y tengo este problema.

@galkahana Gracias. Eso funciono. Pero modificar node_modules son trucos mortales que deben evitarse. Debería levantar un PR para eso

  1. ¿Puede comprobar qué simulador de iOS está instalado en su máquina?
  2. Siempre puede pasar a qué simulador desea apuntar a través de react-native run-ios —device=“XXXXXX’

solo instala el dispositivo iphone X en xcode

El mismo error después de una actualización reciente de Xcode que agregó nuevos simuladores de teléfono Y eliminó algunos más antiguos:

  1. Simulador de lanzamiento
  2. Desde los menús: Hardware> Dispositivo> Administrar dispositivos
  3. Elija la pestaña / botón "Simuladores", luego haga clic en "+" en la parte inferior izquierda y agregue el dispositivo del que se queja el error de ejecución (tome los valores predeterminados, es decir, no complete el campo del nombre).

Espero que esto ayude a alguien...

Si sigues experimentando el error después de seguir los pasos de @dmurchie anteriores, es posible que también @react-native-community/cli .

Puede seguir los pasos aquí para hacerlo:
https://github.com/react-native-community/cli#updating -the-cli

Actualizado a xcode 11. No se pudo encontrar el dispositivo.
El problema es interpretar la salida de xcrun simctl list --json devices que utiliza el script para averiguar los dispositivos instalados.
Entró en el código de findMatchingSimulator. en la condición que indica

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

se agregó una nueva forma de isAvailable (que ahora es un booleano simple):

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

esto solucionó las cosas.

Increíble. Esto funciona a las mil maravillas. Gracias hombre

@TchernyavskyDaniil Me ahorras tiempo. ¡Tks tanto!
RN 0.58.3
Xcode 11
Tener este problema.
Solucione este problema siguiendo el paso a continuación:

  1. Desde el archivo abierto del proyecto:
    code ./node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js
  2. reemplazar
    version.indexOf ('iOS')! == 0
    a
    ! version.includes ('iOS')

reemplazar
simulator.availability! == '(disponible)'
a
simulator.availability! == '(disponible)' &&
simulator.isAvailable! == 'SÍ' &&
simulator.isAvailable! == verdadero

  1. Ejecutar react-native run-ios
    De forma predeterminada, react native ejecutará el simulador iPhone 11 Pro Max.
    Ver lista simulador actual:
    xcrun simctl list devices
    Puedes cambiar de simulador:
    react-native run-ios --configuration Debug --simulator='Your simulator' --scheme 'Your Scheme'
    Ejemplo
    react-native run-ios --configuration Debug --simulator='iPhone 11 Pro Max' --scheme 'HelloWorld'

Otra opción que me funciona.

# to find what simulators you have
xcrun simctl list

# to run a specific simulator
rn run-ios --simulator "iPhone 11"

Actualizado a xcode 11. No se pudo encontrar el dispositivo.
El problema es interpretar la salida de xcrun simctl list --json devices que utiliza el script para averiguar los dispositivos instalados.
Entró en el código de findMatchingSimulator. en la condición que indica

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

se agregó una nueva forma de isAvailable (que ahora es un booleano simple):

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

esto solucionó las cosas.

Es trabajo para mi.
¡Gracias hombre!

Hola a todos,

Encontré otra solución sin cambiar ningún código fuente en el directorio node_modules.

  1. Crear carpeta de proyecto react-native (comando: react-native init projectName)
  2. Abra el archivo projectName / ios / projectName.xcodeproj file en Xcode 11
  3. Elija el dispositivo que desea usar (el iPhone X ya no está en la lista después de lanzar el iPhone Pro, por lo que debe hacer clic en el botón más y agregarlo a la lista actual de dispositivos)
  4. Cuando su nuevo dispositivo esté en la lista, puede cerrar Xcode 11 e intentar ejecutar el emulador desde la Terminal (react-native run-ios)

Si necesita capturas de pantalla sobre cómo hacerlo, hágamelo saber.

Este es mi primer comentario en github por cierto, así que me felicita :)

Gracias.

@ilkinnamazov ¿Podría enviar capturas de pantalla de su solución, por favor?

Cuando abra el archivo .xcodeproj en la carpeta ios, se iniciará Xcode IDE y allí podrá elegir un simulador particular.
Vea las capturas de pantalla a continuación.

Puede elegir el dispositivo de esta lista.
1
3

Pero si no ve el iPhone X, puede agregarlo fácilmente a su lista de dispositivos.
2
4
5
6

Si tiene alguna pregunta, hágamelo saber.
Gracias.

Si no funciona después de agregar el simulador de iPhone X en XCode

  1. Eliminar node_modules
  2. Eliminar yarn.lock o package-lock.json
  3. Ejecute yarn o npm install

Si no funciona después de agregar el simulador de iPhone X en XCode

  1. Eliminar node_modules
  2. Eliminar yarn.lock o package-lock.json
  3. Ejecute yarn o npm install

Eliminar archivos de bloqueo puede resultar problemático en determinadas circunstancias. Hazlo cuidadosamente

Si solo desea ejecutar cualquier dispositivo específico. Puede que falte en la lista de Simuladores. Para agregar un dispositivo, siga los siguientes pasos:

1) Abrir Xcode
2) Presione Command+Shift+2 y se abrirá la opción Dispositivos y simuladores.
3) Vaya a la pestaña Simuladores y presione el icono + en la parte inferior izquierda y agregue el iPhone X o cualquier dispositivo que falte que desee.

Por favor, pruebe esta solución. Podría funcionar para ti.

https://github.com/facebook/react-native/issues/24450#issuecomment -516760157

Encontré esto el más simple

react-native run-ios --simulator "iPhone 11 Pro Max"

Esto ya no parece ser un problema para mí. ¿Quizás alguna actualización mientras tanto lo solucionó?

La sugerencia de @danielcampo de actualizar la CLI lo solucionó.

Tuve que agregar esto a mi package.json:
"@react-native-community/cli": "@^1.12.0", ya que, por alguna razón, la cerradura no actualizaría la pasta 1.11.2 sin ella.

Ahora encuentra simuladores sin problema.

Actualizado a xcode 11. No se pudo encontrar el dispositivo.
El problema es interpretar la salida de xcrun simctl list --json devices que utiliza el script para averiguar los dispositivos instalados.
Entró en el código de findMatchingSimulator. en la condición que indica

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

se agregó una nueva forma de isAvailable (que ahora es un booleano simple):

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

esto solucionó las cosas.

¡Esto funcionó para mí! ¡Gracias amigo!

Si alguien todavía está buscando el archivo findMatchingSimulator.js para editarlo manualmente, actualmente puede encontrarlo en esta ruta:
node_modules/@react-native-community/cli/build/commands/runIOS/findMatchingSimulator.js

¡Espero que esto ayude a alguien más adelante!

También recuerde pasar la versión de IOS entre paréntesis:

--simulator "iPhone 11 Pro Max (13.2)"

@kelvinlemus tengo

react-native-cli: 2.0.1
react-native: 0.61.5

Y quiero cambiar el simulador predeterminado "iPhone X"
Estoy intentando ejecutar react-native run-ios --simulator='iPhone XR' u otros
pero en cada ocasión solo se lanzó el iPhone X

¿Fue útil esta página
0 / 5 - 0 calificaciones