Quando executo um projeto nativo de reação, recebo um erro no bundle URL present
, mas não sei que erros cometi, fiquei muito confuso.
ios
reactjs
react-native
Yingch Xue
fonte
fonte
rm -rf ios/build/
watchman watch-del-all
Respostas:
Resolva o erro
No bundle URL present
:rm -rf ios/build/; kill $(lsof -t -i:8081); react-native run-ios
echo "alias rni=\"kill \$(lsof -t -i:8081); rm -rf ios/build/; react-native run-ios\"" >> ~/.bashrc; source ~/.bashrc
Agora você pode executar a versão do React Native iOS (sem se preocupar com a exibição de algumas das telas de erro vermelhas comuns da morte) com um atalho simples de alias:
rni
fonte
Também acabei de encontrar esse problema (primeira vez que comecei a usar o React Native). O problema desapareceu quando - enquanto uma simulação ios (
react-native run-ios
) estava em execução - eu corrinpm install
ereact-native run-ios
novamente. Na janela do terminal, mostrou que estava agrupando e, em seguida, o simulador mostrou a tela de boas-vindas.Verifique este link para obter resumos após a
react-native init PropertyFinder
linha, tente usarnpm start
(este funciona para mim)==================================================== ======================
ATUALIZAÇÃO para 16.9
Minha porta 8081 foi bloqueada pela McAfee. Usar uma porta diferente diretamente não estava funcionando
react-native start --port=8082
ereact-native run-ios --port=8082
Tentei quase todas as soluções dadas aqui. mas nada não funcionou.
Solução:
Pesquisou 8081 no Xcode e substituiu todos eles por 8082. Em seguida, execute os mesmos comandos para criar e executar o aplicativo. App funciona sem problemas
fonte
Tive o mesmo problema ao empacotar meu aplicativo. Verifique se o seu
main.jsbundle
alvo está no seu projeto principalfonte
Conforme instruído na mensagem de erro:
A execução do seguinte comando funcionou:
fonte
Esse problema ocorre quando você não permite conexões não seguras via localhost ou talvez você tenha tentado aceitar conexões não seguras via http.
Para corrigir isso, adicione-o em
info.plist
:fonte
localhost
para o meu endereço de rede local no Info.plist e, portanto, não estava resolvendo. Eu adicionei um bloco para 'localhost' como um domínio de exceção e funcionou.Feche o seu simulador e o terminal. Abra um novo e vá para o seu projeto, depois atualize o seu react-native como este:
Problema em: recursão infinita no RCTFatal quando o pacote falha na execução .
fonte
Razão:
Isso ocorre porque o aplicativo não pode descobrir o servidor (que serve a interface do usuário - por código javascript).
Solução:
npm run start
ouyarn start
primeiroLoading dependency graph, done.
)react-native run-ios/android
Explicação:
O React Native vem com 2 partes:
Comandos de construção:
react-native run-ios/android
é criar parte nativa, implantar nos dispositivos e iniciar o aplicativo nos dispositivos (simulador / emulador / dispositivo real). Isso geralmente levava de 3 a 4 minutos para terminar.npm run start
ouyarn start
é criar a parte javascript e iniciar o servidor dev para servir a interface do usuário incorporada ao aplicativo. Isso geralmente levava 30 segundos para terminar.=> Normalmente, a parte do javascript terminou primeiro e a parte nativa veio depois. (com base no tempo que eles usaram).
=> isso é verdade apenas pela primeira vez (compilação nova).
=> para reconstruir:
A parte nativa levou apenas 10 a 15 segundos para verificar as alterações e porque nenhuma alteração na parte nativa => foi feita antes da parte javascript ser criada e veiculada. (Não tenho certeza de que a parte do javascript foi reconstruída ou não, mas levou muito tempo que a parte nativa)
É por isso que tivemos esse problema, o aplicativo foi executado e exigia algo que ainda não existia.
Bônus:
react-native run-ios/android
iniciará automaticamente o servidor de desenvolvimento para você.react-native run-ios/android
logo depoisreact-native init <app_name>
, tudo correu bem. (porque o recurso de início automático e o tempo necessário para a construção foram atualizados acima).O tempo usado nesta resposta foi relativo à minha máquina => pode ser diferente nos outros.
fonte
Tente executar este código:
$ sudo xcodebuild -license
Isso pode corrigir o problema. Isso funciona para mim.
fonte
Eu tive o mesmo erro e só consegui executar o aplicativo através do Xcode.
react-native run-ios
não funcionou. Para resolver o problema, você precisa remover abuild
pasta emYOUR_PROJECT/ios/build/
. Depois disso, você poderá executar seu aplicativoreact-native run-ios
novamente. Espero que isto ajude.fonte
Na maioria dos casos, esse problema ocorre quando a pesquisa de DNS / pesquisa de IP falha ao localizar o host local.
Solução:
Tente adicionar o IP do host local ao seu arquivo host etc.
você pode adicionar as linhas abaixo ao seu arquivo host etc (/ etc / hosts)
127.0.0.1 localhost
255.255.255.255 broadcasthost
:: 1 l. ocalhost
Para confirmar que esse é o problema, você pode acessar o URL do pacote no safari (se você tentar no chrome, isso resolverá, mas o safari não poderá resolvê-lo). http: // localhost: 8081 / index.ios.bundle? platform = ios & dev = true & minify = false
fonte
Verifique se as configurações do ATS estão corretas no arquivo .plist.
Você pode encontrar o arquivo em /ios/{{project_name}}/Info.plist
localhost deve ser definido como um destino de solicitação de exceção como este:
* (não se esqueça de remover isso na versão de lançamento ..)
fonte
Para mim, o problema era que não era possível criar o pacote JS. Ele não indica o erro ao criar a partir do Xcode, portanto não há como você saber disso. Para encontrar o erro, execute o seguinte comando.
react-native bundle --platform ios --dev false --entry-file index.ios.js --bundle-output ./ios/release/main.jsbundle --assets-dest ./ios/release/main.jsbundle
Para mim, o erro foi algo com o componente PureRenderMixin ausente. Para a qual a solução pode ser encontrada aqui: https://github.com/facebook/react-native/issues/13078 . Basicamente, você precisa instalar manualmente o [email protected]. Isso pode ser feito através da execução deste comando.
npm i --save [email protected]
Esse problema agora está acontecendo para todo mundo porque versões mais recentes de alfas de reação estão sendo lançadas (particularmente alpha.5) e estão quebrando construções nativas de reação.
fonte
"plugins": ["transform-decorators-legacy"]
ao seu arquivo .babelrc. Ou tente com o HOC de conexão.The node type SpreadProperty has been renamed to SpreadElement
e sua@babel
biblioteca de referências dentro denode_modules
, não encontrei nada que resolvesse isso.Solução ->
npm start
abra o novo Terminal, vá para o caminho do seu projeto e pressionereact-native run-ios
-o funciona para mimfonte
O que resolveu isso para mim:
cd
para dentroYOUR_PROJECT/ios
rm -r build
react-native run-ios
novamenteComo alternativa, você pode abrir o Finder, navegar
YOUR_PROJECT/ios
e excluir obuild
pasta.Então corra
react-native run-ios
novamente.Fonte: Andrew Bancroft
fonte
Este é um problema com o react-native v0.42.1. Tente fechar todas as instâncias de terminal e XCode e execute:
fonte
primeiro feche o simulador e depois execute-o no terminal
fonte
Basta executar no Terminal
react-native start
:Ele iniciará o empacotador, agora não feche esta janela do terminal, em outra janela do terminal execute o seu projeto. Este é o único desejo que eu encontrei para fazê-lo funcionar corretamente.
fonte
Eu descobri que a maneira mais fácil / rápida de ignorar isso é sair do aplicativo dentro do simulador (2 x
Cmd + Shift + H
) e reiniciar.fonte
Eu tive esse mesmo problema. Mas meu problema era que meu Mac e iPhone não estavam na mesma rede wifi.
Portanto, verifique se todos estão na mesma rede e reconstrua novamente. Se não for esse o caso, tente as soluções mencionadas por outros membros aqui.
fonte
verifique seu proxy de rede, melhor desligá-lo.
ou você deve encontrar uma outra maneira de manter o servidor do empacotador
fonte
Isso aconteceu comigo também, depois de reiniciar o meu mac. Há uma janela do terminal launchPackager se abrindo quando você executa o aplicativo no simulador. Fechei a janela e encerrei o processo (eu também fechei o simulador), depois executei novamente o react-native run-ios e tudo funciona bem.
fonte
No meu caso, o problema foi corrigido reiniciando o
adb
servidor:adb kill-server && adb start-server
fonte
Eu também tive esse problema ... o problema era que o empacotador não estava sendo executado, parecia provavelmente porque meu shell padrão era zsh. reagir com pneus nativos para abrir uma nova janela do terminal e executar,
.../node_modules/react-native/packager/launchPackager.command
mas isso não ocorreu. Executar manualmente isso (e mantê-lo funcionando) corrigiu isso para mim.fonte
verifique sua chave 'localhost' no ditado NSExceptionDomains em info.plist
se não existir, causa erro.
fonte
Supondo que você esteja usando
nvm
e várias versões do nó instaladas, aqui está a solução:npm install -g react-native-cli
emnode v6.9.5
.node v6.9.5
como padrão executandonvm alias default 6.9.5
react-native run-ios
O problema é que você tem várias versões do nó instaladas via
nvm
e, para instalar,react-native-cli
você alternou ou instalou a versão mais recente do nó, que ainda não está marcada como nó padrão para o qual apontarnvm
. Quando você executareact-native run-ios
isso, abre outra nova janela de terminal na qual o padrãonvm
não está apontado para a versão do nó em que você instaloureact-native-cli
. Basta seguir a configuração acima, espero que ajude.fonte
verifique se você possui .jsbundle em seu projeto
Adicionar
no seu código nativo de reação, tente reabrir o projeto
fonte
Eu estou trabalhando com
RN 0.49.5
. Eu tentei muitos métodos, mas ninguém funciona. Finalmente eu resolvi isso. É simples e fácil.A idéia principal é mudar
localhost
para127.0.0.1
, mas não é onde o RN diz. Está no RCTBundleURLProvider.m # - (BOOL) isPackagerRunning: (NSString *) host .Mudanças de código:
oc - NSString *host = ipGuess ?: @"localhost"; + NSString *host = ipGuess ?: @"127.0.0.1";
isso é bom para o simulador. Se for um dispositivo, basta alterar o endereço IP para o da sua máquina.fonte
Outra coisa que funciona para mim é abrir o projeto no xcode, depois limpá-lo e construí-lo. geralmente ele executa novamente o servidor de empacotamento e resolve o problema.
fonte
Execute o comando abaixo:
ele abrirá o launchpackager.command e o aplicativo será instalado no simulador ios
fonte
Verifique se
launchPackage.command
está funcionando em um terminal e tente executar novamente. Ele criará o pacote. É como o webpack-dev-server.fonte