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.
rm -rf ios/build/
watchman watch-del-all
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.
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
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 corri npm install
e react-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 usar npm 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.
"react": "16.9.0",
"react-dom": "^16.12.0",
"react-native": "0.61.5",
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
react-native start --port=8082
react-native run-ios --port=8082
Tive o mesmo problema ao empacotar meu aplicativo. Verifique se o seu main.jsbundle
alvo está no seu projeto principal
Conforme instruído na mensagem de erro:
Concordando com a licença Xcode / iOS requer privilégios de administrador, execute "sudo xcodebuild -license" e tente novamente este comando.
A execução do seguinte comando funcionou:
sudo xcodebuild -license
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
:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
<key>NSAllowsArbitraryLoadsInWebContent</key>
<true/>
<key>NSAllowsLocalNetworking</key>
<true/>
</dict>
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:
react-native upgrade
Problema em: recursão infinita no RCTFatal quando o pacote falha na execução .
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
ou yarn 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.
Tente executar este código:
$ sudo xcodebuild -license
Isso pode corrigir o problema. Isso funciona para mim.
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 a build
pasta em YOUR_PROJECT/ios/build/
. Depois disso, você poderá executar seu aplicativo react-native run-ios
novamente. Espero que isto ajude.
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
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:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<dict>
<key>localhost</key>
<dict>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<true/>
</dict>
</dict>
</dict>
* (não se esqueça de remover isso na versão de lançamento ..)
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 react@16.0.0-alpha.3. Isso pode ser feito através da execução deste comando.
npm i --save react@16.0.0-alpha.3
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.
"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 de node_modules
, não encontrei nada que resolvesse isso.
Solução ->
npm start
abra o novo Terminal, vá para o caminho do seu projeto e pressione
react-native run-ios
-o funciona para mim
O que resolveu isso para mim:
cd
para dentro YOUR_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
Este é um problema com o react-native v0.42.1. Tente fechar todas as instâncias de terminal e XCode e execute:
launchctl unload ~/Library/LaunchAgents/com.github.facebook.watchman.plist
watchman version
react-native run-ios
primeiro feche o simulador e depois execute-o no terminal
npm install
react-native run-ios
Basta executar no Terminal react-native start
:
cd your react native app directory/ 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.
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.
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.
verifique seu proxy de rede, melhor desligá-lo.
ou você deve encontrar uma outra maneira de manter o servidor do empacotador
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.
No meu caso, o problema foi corrigido reiniciando o adb
servidor:adb kill-server && adb start-server
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.
verifique sua chave 'localhost' no ditado NSExceptionDomains em info.plist
se não existir, causa erro.
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 apontar nvm
. Quando você executa react-native run-ios
isso, abre outra nova janela de terminal na qual o padrão nvm
não está apontado para a versão do nó em que você instalou react-native-cli
. Basta seguir a configuração acima, espero que ajude.
verifique se você possui .jsbundle em seu projeto
Adicionar
react-native bundle --dev false --entry-file index.js --bundle-output ios/main.jsbundle --platform ios
no seu código nativo de reação, tente reabrir o projeto
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
para 127.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.
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.
Execute o comando abaixo:
killall -9 node
rm -rf ios/build
react-native run-ios
ele abrirá o launchpackager.command e o aplicativo será instalado no simulador ios