<p>O run-ios react-native não consegue encontrar nenhum simulador</p>

Criado em 3 fev. 2019  ·  107Comentários  ·  Fonte: facebook/react-native

Meio Ambiente


React Native Environment Info:
Sistema:
SO: macOS 10.14.2
CPU: (12) x64 Intel (R) Core (TM) i9-8950HK CPU a 2,90 GHz
Memória: 6,76 GB / 32,00 GB
Shell: 3.2.57 - / bin / bash
Binários:
Nó: 10.15.0 - / usr / local / bin / node
Fio: 1.13.0 - / usr / local / bin / yarn
npm: 6.4.1 - / usr / local / bin / npm
SDKs:
iOS SDK:
Plataformas: 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
npmPacotes:
reagir: 16.6.3 => 16.6.3
reagente nativo: 0,57,8 => 0,57,8
npmGlobalPackages:
create-react-native-app: 1.0.0
reac-nativo-cli: 2.0.1
react-native-git-upgrade: 0.2.7

Descrição


Tenho enfrentado um problema em que o 'react-native run-ios' não pode ser iniciado, independentemente do simulador adicionado ao argumento --simulator.
XCode tem a localização correta para as 'ferramentas de linha de comando'

Sempre estou recebendo o erro:
Não foi possível encontrar 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)

Demonstração reproduzível


XCode instalado do zero.
Novo 'novo aplicativo reac-nativo'

'react-native run-ios' sempre reclamam de não encontrar o simulador, independentemente da opção --simulator.

Minha correção temporária é mudar:
/node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js

linha 42, para:
if (! version.startsWith (' com.apple.CoreSimulator.SimRuntime. iOS') &&! version.startsWith ('tvOS')) {

Bug iOS Locked

Comentários muito úteis

Ele está tendo problemas ao fazer a pesquisa de string na versão do simulador em node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js nesta linha: if (!version.startsWith('iOS') .

Substituí-o por includes como tal: if (!version.includes('iOS') que parece ter resolvido o problema para mim.

Todos 107 comentários

Parece que você está usando uma versão mais antiga do React Native. Atualize para a versão mais recente, v0.58 e verifique se o problema ainda existe.

O rótulo "Resolução: Versão Antiga" será removido automaticamente assim que você editar sua postagem original com os resultados da execução de react-native info em um projeto usando a versão mais recente.

acabei de experimentar um novo projeto com:
reagente nativo: 0,58,3 => 0,58,3

e mesmo problema

  1. Você pode verificar qual simulador iOS está instalado em sua máquina?
  2. Você sempre pode passar pelo simulador que deseja atingir por meio do react-native run-ios —device=“XXXXXX’

Eu tenho o mesmo problema aqui também.
Quando mudei para
if (! version.includes ('iOS') &&! version.includes ('tvOS')) {
continuar;
}

está tudo bem, já que o prefixo "com.apple.CoreSimulator.SimRuntime." está incluído na lista de dispositivos, a verificação pura para startsWith falha para todos os simuladores.

Criei a solicitação de pull https://github.com/facebook/react-native/pull/23293 para esse problema

Olá @osunnarvik, obrigado por criar o PR! Você poderia explicar um pouco mais (talvez no PR) por que isso está acontecendo agora? Quero dizer, quando o prefixo mudou? No último Xcode? 🤔

Eu atualizei a descrição do PR agora para dizer um pouco sobre quando ele começou a acontecer e adicionei algumas informações de versão do XCode e xcrun

@kelset sim, acredito que o formato da lista de dispositivos mudou com o XCode mais recente.

Incrível - obrigado pessoal :)

Já fundimos o PR para 0,58 (já que 0,59 etc terá a CLI separada) e a próxima versão do patch (0,58.4) terá a correção 💪

@kelset Notei o comentário em https://github.com/react-native-community/react-native-cli/pull/138 sobre quando você especifica o simulatorString (comentário de @canterberry ). Eu apenas verifiquei com simulatorString vazio e não com um conjunto. Deixe-me saber se você deseja que eu dê uma olhada no caso em que o simulatorString está definido.

Uhm oh sim, provavelmente seria melhor ter a verificação também quando a string estiver configurada. 🤔

ok, vou dar uma olhada amanhã de manhã.

Criei https://github.com/facebook/react-native/pull/23305 para lidar com versões de entrada pontilhadas para simulatorString

@osunnarvik Este problema ainda está presente na versão reativa nativa 0.59.1

Ele está tendo problemas ao fazer a pesquisa de string na versão do simulador em node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js nesta linha: if (!version.startsWith('iOS') .

Substituí-o por includes como tal: if (!version.includes('iOS') que parece ter resolvido o problema para mim.

Ele está tendo problemas ao fazer a pesquisa de string na versão do simulador em node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js nesta linha: if (!version.startsWith('iOS') .

Substituí-o por includes como tal: if (!version.includes('iOS') que parece ter resolvido o problema para mim.

Funciona para mim. Obrigado.

Ele está tendo problemas ao fazer a pesquisa de string na versão do simulador em node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js nesta linha: if (!version.startsWith('iOS') .

Substituí-o por includes como tal: if (!version.includes('iOS') que parece ter resolvido o problema para mim.

muito obrigado !!

Ele está tendo problemas ao fazer a pesquisa de string na versão do simulador em node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js nesta linha: if (!version.startsWith('iOS') .

Substituí-o por includes como tal: if (!version.includes('iOS') que parece ter resolvido o problema para mim.

Eu realmente não consigo compreender como essa situação existia

isso é correção com as novas versões?

@evanoralph Se você tem esse problema hoje como eu, pode tentar modificar o findMatchingSimulator.js em node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js .
Primeiro inicialize um Simulador e, em seguida, execute xcrun simctl list --json devices e procure aquele com "state" : "Booted", .
Em seguida, adicione no topo da função findMatchingSimulator :

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

version pode variar. Mas é a chave pai do objeto de dispositivo inicializado. Mas isso não é uma solução! É uma solução alternativa.

Ele está tendo problemas ao fazer a pesquisa de string na versão do simulador em node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js nesta linha: if (!version.startsWith('iOS') .

Substituí-o por includes como tal: if (!version.includes('iOS') que parece ter resolvido o problema para mim.

Atualizado para macOS 10.14.4 e XCode atualizado para 10.2 e esse problema começou a acontecer para mim. Sua solução ajudou (embora seja apenas uma solução temporária).

Ele está tendo problemas ao fazer a pesquisa de string na versão do simulador em node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js nesta linha: if (!version.startsWith('iOS') .

Substituí-o por includes como tal: if (!version.includes('iOS') que parece ter resolvido o problema para mim.

Impressionante! Embora temporário, está funcionando perfeitamente. Obrigado!

Ele está tendo problemas ao fazer a pesquisa de string na versão do simulador em node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js nesta linha: if (!version.startsWith('iOS') .

Substituí-o por includes como tal: if (!version.includes('iOS') que parece ter resolvido o problema para mim.

Funciona para mim! Obrigado! Se você executar um Simulador com mais de uma versão (como iPhone 5s iOS 10.3.1 e 12.2), essas correções abrirão todas as versões do simulador. Você pode definir uma versão usando --simulator "iPhone 5s (10.3)" .

@evanoralph Se você tem esse problema hoje como eu, pode tentar modificar o findMatchingSimulator.js em node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js .
Primeiro inicialize um Simulador e, em seguida, execute xcrun simctl list --json devices e procure aquele com "state" : "Booted", .
Em seguida, adicione no topo da função findMatchingSimulator :

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

version pode variar. Mas é a chave pai do objeto de dispositivo inicializado. Mas isso não é uma solução! É uma solução alternativa.

a solução alternativa funciona bem para mim agora, não sei se devo atualizar meus projetos para .59.0

Sou o único que não tem node_modules / react-native / local-cli / runIOS / findMatchingSimulator.js? Há apenas uma coisa dentro da pasta local-cli, que é o arquivo cli.js - alguma idéia ??

Apenas para sua informação, isso também pareceu ajudar, no meu sistema, a ter este problema:

xcrun simctl delete indisponível

Eu entendi o problema, substituir includes me ajudou. quando será consertado?

HHHEEEYYYY ... substituir inclui obras !!!!!

@Titozzz Alguma atualização sobre quando isso será consertado? A correção temporária não é uma forma amigável de equipe e git.
Estou pronto para contribuir se alguém me disser como devo proceder.

@Titozzz @kelset
Eu examinei meu problema e descobri que é um problema diferente sendo apresentado aqui pelo OP.

O problema é que preciso executar meu aplicativo no iPad e, como os nomes do iPad têm os tamanhos dos dispositivos entre parênteses, por exemplo. iPad Pro (9.7-inch) , o código cli assume que o tamanho do dispositivo entre parênteses é a versão do tempo de execução do iOS.

Sugiro que usemos um argumento separado para a versão ios em tempo de execução ou tenha um tipo de colchete diferente para detectar a versão em tempo de execução.

Minha versão RN é 0.59.3

Olá você pode responder a perguntas?

Sou o único que não tem node_modules / react-native / local-cli / runIOS / findMatchingSimulator.js? Há apenas uma coisa dentro da pasta local-cli, que é o arquivo cli.js - alguma idéia ??

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

Estou feliz que você pode ver minha mensagem! Em segundo lugar, muito obrigado pela sua resposta! Mas meu Xcode é a versão 8.1 e tenho simuladores Xcode além do X, mas quando compilo o terminal erro não consigo encontrar nenhum simulador! Mudei as condições de compilação em muitos lugares, mas não consegui resolver o problema, então deixei uma mensagem de ajuda.

esta é a solução definitiva? ou existe um PR aberto?

Isso está funcionando para mim em 0.58.6; Parece que foi corrigido no commit 9a8c9596ebe41e27d37ba18d6bf09f1c931c1ff2 🙂

Isso está funcionando quando você atualiza o react-native para v59

Acho que meu problema pode ter a ver com o fato de que, se você estiver no XCode 10.2.1 (como eu), a Apple renomeou o simulador do iPhone XR para iPhone Xʀ (observe o grande "R" versus o pequeno "ʀ") portanto, se você estiver tentando atingir aquele simulador recém-renomeado, use react-native run-ios --simulator="iPhone Xʀ" . Obrigado Apple ...

@ lcastillo88 oh uau, que bela pegada, que mudança estranha 😅

Para qualquer um que esteja lutando contra isso porque está tentando executar um simulador do iPad Pro, o problema é que findMatchingSimulator.js pensa que qualquer coisa entre parênteses é a versão iOS do simulador que você está tentando executar. Portanto, ele está tentando abrir o simulador iPad Pro com a versão iOS 10.5-inch (ou qualquer simulador que você está tentando executar). Por razões óbvias, isso não vai funcionar.

A solução mais fácil para isso, até que uma correção permanente seja implementada, é renomear o simulador para algo que não inclua parênteses. No Xcode, clique em Janela> Dispositivos e Simuladores, clique na guia Simuladores e, a seguir, clique com o botão direito do mouse no simulador com o qual está trabalhando para renomeá-lo.

Para quem não consegue atualizar o RN, mas precisa de uma correção mais automatizada, você pode usar o seguinte script de shell em sua pós-instalação:

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

Isso nos ajudou a executar nossos testes de automação em nosso servidor de CI.

Só para ter certeza de que não perdi nada: se você está no 0.59 esse problema foi corrigido, correto?

Especificamente para simuladores de iPad Pro (ou qualquer outro simulador que inclua algo diferente de uma versão do iOS entre parênteses), isso ainda não funciona na versão mais recente do react-native.

Fora esse cenário, está funcionando bem.

Ele está tendo problemas ao fazer a pesquisa de string na versão do simulador em node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js nesta linha: if (!version.startsWith('iOS') .

Substituí-o por includes como tal: if (!version.includes('iOS') que parece ter resolvido o problema para mim.

inacreditável obrigado

Caso alguém precise executar a versão especificada do iOS:
react-native run-ios --simulator="iPhone 8 (12-0)"
Era (12.0) antes, mas mudou para 12-0 depois que atualizei meu xcode para 10.2.1

Ele está tendo problemas ao fazer a pesquisa de string na versão do simulador em node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js nesta linha: if (!version.startsWith('iOS') .

Substituí-o por includes como tal: if (!version.includes('iOS') que parece ter resolvido o problema para mim.

isso funcionou para mim. obrigado

mas você pode me explicar o problema

@kelset

Só para ter certeza de que não perdi nada: se você está no 0.59 esse problema foi corrigido, correto?

Acabei de atualizar para 0.59.8 e funciona [atualizado via react-native-git-upgrade ]

Para quem não consegue atualizar o RN, mas precisa de uma correção mais automatizada, você pode usar o seguinte script de shell em sua pós-instalação:

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

Isso nos ajudou a executar nossos testes de automação em nosso servidor de CI.

Isso funcionou para mim

ISTO PODE ME SER ÚTIL PARA ALGUÉM AINDA USANDO

"reagir nativo": "0,52,1"

Eu consertei isso com a seguinte mudança.

Vá para este caminho.

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

Mudança (o número da linha era 30 para mim )
if (version.indexOf('iOS') !== 0)

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

Estou usando [email protected] e --simulator = "iPhone 8" não estava sendo analisado corretamente. Ao adicionar um log do console, parecia ser analisado como "iPhone (sem uma citação final). Eu alterei node_modules / react-native / local-cli / runIOS / findMatchingSimulator.js para aceitar um nome de simulador com um sublinhado no lugar de qualquer espaços.

Isso parece corrigir o problema de análise que eu estava vendo:

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

Fiz a seguinte alteração localmente:

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

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

Hoje eu consertei isso em runIOS/findMatchingSimulator.js . 🎉 Eu mudei a linha
if (simulator.availability !== '(available)' && simulator.isAvailable !== 'YES') {
para
if (simulator.availability !== '(available)' && simulator.isAvailable !== true) { .
Parece que a propriedade isAvailable retorna o booleano normal em vez de YES / NO na lista de dispositivos.
A propósito, tive esse problema depois de instalar o Xcode 11 Beta.

reac-nativo-cli: 2.0.1
reagente nativo: 0,59,9

Recebi o mesmo erro que não consegue encontrar o simulador.

Causa: Ao executar run-ios react-native, o nome do simulador padrão é iPhoneX, que não existe. O nome do iPhoneX é iPhoneXs, iPhoneXs Max ou iPhoneXR
Solução: modifique o código em 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.

Meu projeto ainda usa "react-native": "0.53.3" e para mim o código em "findMatchingSimulator.js" na pasta react-native node_modules é

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

Não posso acreditar.

Eu tenho o mesmo problema aqui também.
Quando mudei para
if (! version.includes ('iOS') &&! version.includes ('tvOS')) {
continuar;
}

está tudo bem, já que o prefixo "com.apple.CoreSimulator.SimRuntime." está incluído na lista de dispositivos, a verificação pura para startsWith falha para todos os simuladores.

Obrigado funcionou para mim

Eu tenho o mesmo problema aqui também.
Quando mudei para
if (! version.includes ('iOS') &&! version.includes ('tvOS')) {
continuar;
}

está tudo bem, já que o prefixo "com.apple.CoreSimulator.SimRuntime." está incluído na lista de dispositivos, a verificação pura para startsWith falha para todos os simuladores.

oi, meu node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js não existe

@ topik96 Verifique aqui.

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

Nota: as correções acima não funcionaram para mim. O que eu fiz:

  1. Execute este comando xcrun simctl list devices
  2. Verifique o nome do simulador e a versão do iOS. (No meu caso foi 12,2)
  3. Agora meu comando se parece com este react-native run-ios --simulator='iPad Pro (9.7-inch) (12.2) . Observe a versão do iOS.

Anteriormente, não mencionei a versão do iOS no meu comando run.

a verificação de simuladores disponíveis agora deve ser:
simulator.isAvailable! == true

Acho que meu problema pode ter a ver com o fato de que, se você estiver no XCode 10.2.1 (como eu), a Apple renomeou o simulador do iPhone XR para iPhone Xʀ (observe o grande "R" versus o pequeno "ʀ") portanto, se você estiver tentando atingir aquele simulador recém-renomeado, use react-native run-ios --simulator="iPhone Xʀ" . Obrigado Apple ...

Funcionou para mim. THX.

Eu tenho o mesmo problema aqui também.
Quando mudei para
if (! version.includes ('iOS') &&! version.includes ('tvOS')) {
continuar;
}

está tudo bem, já que o prefixo "com.apple.CoreSimulator.SimRuntime." está incluído na lista de dispositivos, a verificação pura para startsWith falha para todos os simuladores.

Obrigado! Funcionou para mim!

Eu tenho o mesmo problema aqui também.
Quando mudei para
if (! version.includes ('iOS') &&! version.includes ('tvOS')) {
continuar;
}
está tudo bem, já que o prefixo "com.apple.CoreSimulator.SimRuntime." está incluído na lista de dispositivos, a verificação pura para startsWith falha para todos os simuladores.

oi, meu node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js não existe

se você estiver usando o novo cli em uma versão atualizada do React Native, ele será encontrado aqui:

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

Hoje eu consertei isso em runIOS/findMatchingSimulator.js . 🎉 Eu mudei a linha
if (simulator.availability !== '(available)' && simulator.isAvailable !== 'YES') {
para
if (simulator.availability !== '(available)' && simulator.isAvailable !== true) { .
Parece que a propriedade isAvailable retorna o booleano normal em vez de YES / NO na lista de dispositivos.
A propósito, tive esse problema depois de instalar o Xcode 11 Beta.

Eu instalei 11 Beta também. Ele acha que este script deve verificar YES e true ao mesmo tempo?

não consegui resolver o problema e precisava de uma solução rapidamente, então tentei uma solução rápida.

console.log os dispositivos e hackeado um retorno

em findMatchingSimulator.js
pouco antes de if(match) {return match}

Codifiquei uma devolução

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

Eu tenho o mesmo problema aqui também.
Quando mudei para
if (! version.includes ('iOS') &&! version.includes ('tvOS')) {
continuar;
}

está tudo bem, já que o prefixo "com.apple.CoreSimulator.SimRuntime." está incluído na lista de dispositivos, a verificação pura para startsWith falha para todos os simuladores.

Impressionante. Isso funciona como um encanto. Obrigado!

Se você está vendo este erro:

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

Veja meu comentário para esta solução simples aqui:

erro Não foi possível encontrar o simulador do iPhone X # 418

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

consertar para mim.

Siga as etapas abaixo para corrigir para mim
reagente nativo: 0.52.3

conserto não consegue encontrar emulador

abrir arquivo
code ./node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js

substitua version.indexOf ('iOS')! == 0
para! version.includes ('iOS')

Esse problema tem ocorrido comigo ao longo dos últimos 4 meses e nas versões de servidor do RN. Normalmente após algum tipo de atualização. Isso prejudica minha produtividade a cada vez.

Ei Jim, você verificou que não tem projeto RN dentro do projeto RN (arquivo
sistema sábio)? Em caso afirmativo, tente fazer 1 projeto por pasta. Isso é o que
aconteceu comigo e uma vez que removi o segundo projeto para uma pasta independente
(usando RN init). Espero que ajude você :)

No sábado, 21 de setembro de 2019 às 18:28 Jim Hall [email protected] escreveu:

Este problema tem ocorrido comigo ao longo dos últimos 4 meses
e sobre versões de servidor do RN. Normalmente após algum tipo de atualização. isto
prejudica minha produtividade a cada vez.

-
Você está recebendo isto porque comentou.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/facebook/react-native/issues/23282?email_source=notifications&email_token=ADA33H7VQA5DPUSQO6ILB6DQKY4TLA5CNFSM4GUBJ5D2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD7IT3QQ#issuecomment-533806530 ,
ou silenciar o tópico
https://github.com/notifications/unsubscribe-auth/ADA33H56N5ML47724MTTPFTQKY4TLANCNFSM4GUBJ5DQ
.

O simulador do iPhone X não é mais compatível? Eu estava enfrentando esse problema e corrigi-lo executando
-simulator="iPhone 11 Pro"

Confirmando as observações de @reza-hashemi, executando instruments -s devices com Xcode 11.0 (11A420a) instalado não lista mais o IPhone X. Fornecer outros simuladores usando a bandeira --simulator funciona.

Parece que a nova versão do xCode não tem o simulador do iPhone X adicionado por padrão. Você também pode corrigir o problema por enquanto adicionando o simulador de volta ao xCode. Em última análise, a CLI provavelmente deve ser atualizada para usar o iPhone 11.

Depois de atualizar para o Xcode 11, recebo um erro
"Não foi possível encontrar o simulador" iPhone X "."

conserto fácil ...

Xcode -> preferências -> componentes instalar ios 12.2 sumulator

@broros steps corrigiu isso para mim Esse problema começou após uma atualização do XCode, no entanto, depois de passar pelo simulador, recebi uma mensagem de erro diferente

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 corrigir esse segundo conjunto de erros, tive que abrir o projeto ios em Xcode -> Arquivo -> Configurações do espaço de trabalho -> Construir Sistema -> (Definir como Legado).

Após atualizar o Xcode de 10 para 11, recebi o erro 'iPhone X Simulator' também. Tentei alguns scripts encontrados neste tópico e outros sem sucesso. Se você tiver avisos em seu terminal, tente npm audit fix . Resolvido para mim e eu inicializo agora sem problemas.

Atualizado para xcode 11. não foi possível encontrar o dispositivo.
o problema é interpretar a saída de xcrun simctl list --json devices que é usada pelo script para descobrir os dispositivos instalados.
Foi para o código de findMatchingSimulator. na condição declarando

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

adicionada nova forma de isAvailable (que agora é um booleano simples):

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

isso resolveu as coisas.

Atualizado para xcode 11. não foi possível encontrar o dispositivo.
o problema é interpretar a saída de xcrun simctl list --json devices que é usada pelo script para descobrir os dispositivos instalados.
Foi para o código de findMatchingSimulator. na condição declarando

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

adicionada nova forma de isAvailable (que agora é um booleano simples):

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

isso resolveu as coisas.

Oi. Você pode me explicar, onde findMatchingSimulator?

Obrigado @galkahana ,
que funcionou para mim.
@TchernyavskyDaniil você pode encontrar o arquivo na pasta do projeto node_modules
./node_modules/\@react-native-community/cli/build/commands/runIOS/findMatchingSimulator.js

Obrigado @galkahana ,
que funcionou para mim.
@TchernyavskyDaniil você pode encontrar o arquivo na pasta do projeto node_modules
./node_modules/\@react-native-community/cli/build/commands/runIOS/findMatchingSimulator.js

Você quis dizer:
/ cli-platform-IOS / ...?

Não consigo encontrar o seu caminho (runIOS): C

RN 60,4

@TchernyavskyDaniil estou executando em RN 0.59.9
Você poderia executar find . -iname findMatchingSimulator.js da linha de comando na pasta do projeto?
Se você encontrar um @ no caminho, adicione uma barra invertida na frente dele e abra-o usando o vim ou outro editor.

@TchernyavskyDaniil estou executando em RN 0.59.9
Você poderia executar find . -iname findMatchingSimulator.js da linha de comando na pasta do projeto?
Se você encontrar um @ no caminho, adicione uma barra invertida na frente dele e abra-o usando o vim ou outro editor.

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

Ok, eu vou tentar

"Não foi possível encontrar o simulador" iPhone X "."

изображение

Agradável :)

Recebendo este erro no XCode 11. Deus abençoe as atualizações de software !!

você pode atualizar seu @ react-native-community / cli para 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 Estou usando @react-native-community/[email protected] e tendo este problema.

@galkahana Obrigado. Isso funcionou. Mas modificar node_modules são hacks mortais que devem ser evitados. Deve levantar um PR para isso

  1. Você pode verificar qual simulador iOS está instalado em sua máquina?
  2. Você sempre pode passar pelo simulador que deseja atingir por meio do react-native run-ios —device=“XXXXXX’

basta instalar o dispositivo iphone X no xcode

Mesmo erro após uma atualização recente do Xcode que adicionou novos simuladores de telefone E removeu alguns mais antigos:

  1. Simulador de lançamento
  2. Nos menus: Hardware> Dispositivo> Gerenciar dispositivos
  3. Escolha a guia / botão "Simuladores", clique em "+" no canto inferior esquerdo e adicione qualquer dispositivo do qual seu erro de execução está reclamando (use os padrões - ou seja, não preencha o campo do nome).

Espero que isso ajude alguém ...

Se você ainda estiver tendo o erro depois de seguir as etapas de @dmurchie acima, talvez seja necessário atualizar seu @react-native-community/cli .

Você pode seguir as etapas aqui para fazer isso:
https://github.com/react-native-community/cli#updating -the-cli

Atualizado para xcode 11. não foi possível encontrar o dispositivo.
o problema é interpretar a saída de xcrun simctl list --json devices que é usada pelo script para descobrir os dispositivos instalados.
Foi para o código de findMatchingSimulator. na condição declarando

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

adicionada nova forma de isAvailable (que agora é um booleano simples):

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

isso resolveu as coisas.

Impressionante. Isso funciona como um encanto. Obrigado cara

@TchernyavskyDaniil Você economiza meu tempo. Tks muito!
RN 0.58.3
Xcode 11
Tendo esse problema.
Corrija esse problema seguindo a etapa abaixo:

  1. Do arquivo aberto do projeto:
    code ./node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js
  2. substituir
    version.indexOf ('iOS')! == 0
    para
    ! version.includes ('iOS')

substituir
simulator.availability! == '(disponível)'
para
simulator.availability! == '(disponível)' &&
simulator.isAvailable! == 'SIM' &&
simulator.isAvailable! == true

  1. Execute react-native run-ios
    Por padrão, o react native executará o simulador iPhone 11 Pro Max.
    Veja a lista do simulador atual:
    xcrun simctl list devices
    Você pode mudar o simulador:
    react-native run-ios --configuration Debug --simulator='Your simulator' --scheme 'Your Scheme'
    Exemplo
    react-native run-ios --configuration Debug --simulator='iPhone 11 Pro Max' --scheme 'HelloWorld'

Outra opção que funciona para mim.

# to find what simulators you have
xcrun simctl list

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

Atualizado para xcode 11. não foi possível encontrar o dispositivo.
o problema é interpretar a saída de xcrun simctl list --json devices que é usada pelo script para descobrir os dispositivos instalados.
Foi para o código de findMatchingSimulator. na condição declarando

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

adicionada nova forma de isAvailable (que agora é um booleano simples):

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

isso resolveu as coisas.

É trabalho para mim.
Obrigado cara!

Olá a todos,

Eu encontrei outra solução sem alterar nenhum código-fonte no diretório node_modules.

  1. Crie uma pasta de projeto react-native (comando: react-native init projectName)
  2. Abra o arquivo projectName / ios / projectName.xcodeproj file no Xcode 11
  3. Escolha o dispositivo que deseja usar (o iPhone X não está mais na lista após o lançamento do iPhone Pro, então você precisa clicar no botão mais e adicionar à lista atual de dispositivos)
  4. Quando o seu novo dispositivo estiver na lista, você pode fechar o Xcode 11 e tentar executar o emulador do Terminal (react-native run-ios)

se precisar de capturas de tela como fazer isso, me avise.

A propósito, este é meu primeiro comentário no github, então parabéns :)

Obrigado.

@ilkinnamazov Você poderia enviar screenshots de sua solução, por favor?

Ao abrir o arquivo .xcodeproj na pasta ios, ele iniciará o Xcode IDE e lá você poderá escolher o simulador específico.
Veja as imagens abaixo.

Você pode escolher o dispositivo desta lista.
1
3

Mas se você não vir o iPhone X, pode adicioná-lo facilmente à sua lista de dispositivos.
2
4
5
6

se você tiver alguma dúvida me avise.
Obrigado.

Se não funcionar depois de adicionar simulador iPhone X no XCode

  1. Excluir node_modules
  2. Exclua yarn.lock ou package-lock.json
  3. Execute yarn ou npm install

Se não funcionar depois de adicionar simulador iPhone X no XCode

  1. Excluir node_modules
  2. Exclua yarn.lock ou package-lock.json
  3. Execute yarn ou npm install

Excluir arquivos de bloqueio pode ser problemático em certas circunstâncias. Faça com cuidado

Se você deseja apenas executar qualquer dispositivo específico. Pode estar faltando na lista de Simuladores. Para adicionar um dispositivo, siga os seguintes passos:

1) Abra o Xcode
2) Pressione Command+Shift+2 para abrir a opção Dispositivos e Simuladores.
3) Vá para a guia Simuladores e pressione o ícone + na parte inferior esquerda e adicione o iPhone X ou qualquer dispositivo ausente que desejar.

Por favor, tente esta solução. Pode funcionar para você.

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

Eu achei isso o mais simples,

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

Isso não parece mais ser um problema para mim. Talvez alguma atualização entretanto consertou?

A sugestão de @danielcampo de atualizar a CLI corrigiu isso para mim.

Tive que adicionar isso ao meu package.json:
"@react-native-community/cli": "@^1.12.0", porque, por algum motivo, o bloqueio não atualizaria a pasta 1.11.2 sem ele.

Agora encontra simuladores sem problemas.

Atualizado para xcode 11. não foi possível encontrar o dispositivo.
o problema é interpretar a saída de xcrun simctl list --json devices que é usada pelo script para descobrir os dispositivos instalados.
Foi para o código de findMatchingSimulator. na condição declarando

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

adicionada nova forma de isAvailable (que agora é um booleano simples):

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

isso resolveu as coisas.

Isso funcionou para mim! Obrigado cara!

Se alguém ainda estiver procurando pelo arquivo findMatchingSimulator.js para editá-lo manualmente, você pode encontrá-lo neste caminho:
node_modules/@react-native-community/cli/build/commands/runIOS/findMatchingSimulator.js

Espero que isso ajude alguém no futuro!

Lembre-se também de passar a versão do IOS entre parênteses:

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

@kelvinlemus eu tenho

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

E eu quero mudar o simulador padrão "iPhone X"
Estou tentando executar react-native run-ios --simulator='iPhone XR' ou outros
mas em todas as vezes apenas o iPhone X foi lançado

Esta página foi útil?
0 / 5 - 0 avaliações