react link ios reactjs react-native

ios - link - react native share



¿Cuál es el significado de ''No hay URL de paquete presente'' en react-native? (30)

  1. compruebe sus hosts que 127.0.0.1 localhost no se elimina
  2. compruebe que el agente de red no esté configurado
  3. luego, npm install & react-native upgrade para restablecer su proyecto

Cuando ejecuto un proyecto nativo de reacción, recibo un error no bundle URL present , pero no sé qué errores hago, estaba muy confundido.


Asegúrese de que launchPackage.command esté ejecutando en una terminal e intente ejecutar nuevamente. Construirá el paquete. Es un poco como webpack-dev-server.


Asegúrese de que su configuración ATS sea correcta en el archivo .plist.

Puede encontrar el archivo en /ios/{{project_name}}/Info.plist

localhost debe definirse como un objetivo de solicitud de excepción como este:

<key>NSAppTransportSecurity</key> <dict> <key>NSExceptionDomains</key> <dict> <key>localhost</key> <dict> <key>NSExceptionAllowsInsecureHTTPLoads</key> <true/> </dict> </dict> </dict>

* (no olvide eliminar esto en la versión de lanzamiento ..)



Como se indica en el mensaje de error:

Aceptar la licencia Xcode / iOS requiere privilegios de administrador, ejecute "sudo xcodebuild -license" y vuelva a intentar este comando.

... ejecuté el siguiente comando:

sudo xcodebuild -license

Ahora funciona.


En la mayoría de los casos, este problema ocurre cuando la búsqueda DNS / IP no puede encontrar localhost.

Solución:

Intente agregar la IP localhost a su archivo de host, etc.

puede agregar las siguientes líneas a su archivo de host, etc. (/ etc / hosts)

127.0.0.1 localhost

255.255.255.255 broadcasthost

:: 1 l. Ocalhost

Para confirmar que este es el problema , puede presionar la URL del paquete en Safari (si lo prueba en Chrome, esto se resolverá, pero Safari no podrá resolverlo). http://localhost:8081/index.ios.bundle?platform=ios&dev=true&minify=false


En mi caso, el problema se solucionó reiniciando el servidor adb kill-server && adb start-server : adb kill-server && adb start-server


Es porque su cliente no puede llegar a su servidor de empaquetador.

Si usted es un codificador chino como yo, creo que podría usar VPN para pasar por el GFW. Cuando su herramienta VPN está en ''Modo global'', toda su solicitud viajará por el mundo y no podrá obtener localhost

Pruebe el ''Modo de proxy automático''.

Si no viene de China, o su configuración de VPN ya está en ''Modo de proxy automático'', le sugiero que cierre su servidor de empaquetado e intente nuevamente.


Este es un problema con react-native v0.42.1. Intente cerrar todas las instancias de terminal y XCode y ejecute:

launchctl unload ~/Library/LaunchAgents/com.github.facebook.watchman.plist watchman version react-native run-ios


Este problema ocurre cuando no permite conexiones no seguras a través de localhost, o tal vez trató de aceptar conexiones no seguras a través de http.

Para solucionar esto, agregue esto en info.plist :

<key>NSAppTransportSecurity</key> <dict> <key>NSAllowsArbitraryLoads</key> <true/> <key>NSAllowsArbitraryLoadsInWebContent</key> <true/> <key>NSAllowsLocalNetworking</key> <true/> </dict> </key>


Estoy trabajando con RN 0.49.5 . He probado muchos métodos, pero nadie funciona. Finalmente resolví esto. Es simple y fácil.

La idea principal es cambiar el localhost a 127.0.0.1 , pero no es donde el RN le dice. Está en RCTBundleURLProvider.m # - (BOOL) isPackagerRunning: (NSString *) host .

Cambios de código: oc - NSString *host = ipGuess ?: @"localhost"; + NSString *host = ipGuess ?: @"127.0.0.1"; oc - NSString *host = ipGuess ?: @"localhost"; + NSString *host = ipGuess ?: @"127.0.0.1"; Esto está bien para el simulador. Si es un dispositivo, simplemente cambie la dirección IP a la de su máquina.


He encontrado que la forma más fácil / rápida de evitar esto es salir de la aplicación dentro del simulador (2 x Cmd + Shift + H ) y volver a iniciarla.


Intenta ejecutar este código ---

sudo xcodebuild -license

Esto puede solucionar el problema. Esto funciona para mi.


Lo que me resolvió:

  • Abrir una ventana de terminal
  • cd en YOUR_PROJECT/ios
  • Elimine la carpeta de compilación con rm -r build
  • Ejecute react-native run-ios nuevamente

Alternativamente, puede abrir Finder, navegar a YOUR_PROJECT/ios y eliminar la carpeta de build .

Luego ejecute react-native run-ios nuevamente.

Fuente: Andrew Bancroft


Otra cosa que funciona para mí es abrir el proyecto en xcode y luego limpiarlo y compilarlo. normalmente vuelve a ejecutar el servidor de empaquetado y resuelve el problema.


Para mí, el problema era que no podía crear el paquete JS. No indica el error al construir desde Xcode, por lo que no hay forma de que lo sepas. Para encontrar el error, ejecute el siguiente 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 mí, el error fue algo con la falta del componente PureRenderMixin. Para lo cual la solución se puede encontrar aquí: https://github.com/facebook/react-native/issues/13078 . Básicamente, debe instalar manualmente [email protected]. Esto se puede hacer mediante la ejecución de este comando.

npm i --save [email protected]

Este problema ahora está sucediendo para todos porque se están lanzando versiones más nuevas de react alphas (particularmente alpha.5) y están rompiendo las compilaciones react-native.


Razón:

Esto se debe a que la aplicación no puede encontrar el servidor (que sirve la interfaz de usuario, por código javascript).

Solución:

  • Asegúrese de que todo lo relacionado con reaccionar nativo cerrado (no es necesario, solo para tener un inicio limpio para mi solución, después de mi explicación, puede darse cuenta de que esto es necesario o no)
  • ejecutar npm run start o yarn start primero
  • espere a que este comando termine el trabajo (generalmente verá Loading dependency graph, done. ) Loading dependency graph, done.
  • ejecutar react-native run-ios/android

Explicación:

  • React Native viene con 2 partes:

    • Parte nativa
    • Parte Javascript
  • Comandos de compilación:

    • react-native run-ios/android es construir una parte nativa y luego implementarla en dispositivos e iniciar la aplicación en dispositivos (simulador / emulador / dispositivo real). Esto usualmente tomó 3 ~ 4 minutos para terminar.

    • npm run start o yarn start es construir la parte de JavaScript e iniciar el servidor de desarrollo para que sirva la IU incorporada a la aplicación. Esto usualmente tardó 30 segundos en terminar.

=> Normalmente, la parte de JavaScript terminó primero y luego la parte nativa vino después. (según el tiempo que usaban).

=> esto solo es cierto por primera vez build (nueva compilación).

=> para reconstruir:

  • La parte nativa solo tardó entre 10 y 15 segundos en verificar los cambios y porque no se realizó ningún cambio para la parte nativa => antes de que se construyera y sirviera la parte de JavaScript. (No estoy seguro de que la parte de JavaScript se haya reconstruido o no, pero tomó mucho tiempo que la parte nativa)

  • Por eso tuvimos este problema, la aplicación se ejecutó y requería algo que aún no existía.

Prima:

  • react-native run-ios/android iniciará automáticamente el servidor de desarrollo por usted.
  • Es por eso que cuando ejecutó react-native run-ios/android justo después de react-native init <app_name> , todo funcionó bien. (porque la función de inicio automático y el tiempo que se tomó para la compilación nueva como se indicó anteriormente)
  • Otras soluciones de "eliminación" funcionaron porque forzaron la reconstrucción.

El tiempo utilizado en esta respuesta fue relativo a mi máquina => puede ser diferente en otros.


Resuelva el error No bundle URL present por:

  • Ejecute el siguiente comando en el directorio raíz de su proyecto para eliminar el directorio de compilación de iOS y para eliminar otras sesiones de React Native (suponiendo que se ejecuten en el puerto predeterminado 8081) antes de reconstruir:

rm -rf ios/build/; kill $(lsof -t -i:8081); react-native run-ios

  • Actualice su flujo de trabajo React Native para evitar que ocurran estos errores combinando la combinación de comandos anterior en un alias y anexándolo a su archivo de configuración de Bash .bashrc con este comando:

echo "alias rni=/"kill /$(lsof -t -i:8081); rm -rf ios/build/; react-native run-ios/"" >> ~/.bashrc; source ~/.bashrc

Ahora puede ejecutar la compilación React Native iOS (sin preocuparse de que aparezcan algunas de las pantallas rojas de error comunes de muerte) con un simple acceso directo de alias:

rni


Simplemente ejecute en Terminal react-native start :

cd your react native app directory/ react-native start

Se iniciará el empaquetador, ahora no cierre esta ventana de terminal, en otra ventana de terminal ejecute su proyecto. Este es el único deseo que encontré para que funcione correctamente.


Solución -> npm start luego abra una nueva Terminal y vaya a la ruta de su proyecto y luego presione react-native run-ios , funciona para mí


Suponiendo que está utilizando nvm y múltiples versiones de nodo instaladas, esta es la solución:

  1. Supongamos que ejecuta npm install -g react-native-cli en el node v6.9.5 .
  2. Ahora haga el node v6.9.5 como predeterminado ejecutando nvm alias default 6.9.5
  3. Ahora ejecute react-native run-ios

El problema es que tiene varias versiones de nodo instaladas a través de nvm y para instalar react-native-cli ha cambiado o instalado la última versión del nodo, que aún no está marcado como nodo predeterminado para apuntar en nvm . Cuando ejecuta react-native run-ios esto abre otra nueva ventana de terminal en la que nvm predeterminado no apunta a la versión del nodo donde ha instalado react-native-cli . Simplemente siga la configuración anterior, espero que eso ayude.


También me encontré con este problema (la primera vez que comencé con React Native). El problema desapareció cuando, mientras se ejecutaba una simulación ios ( react-native run-ios ), ejecuté npm install y luego react-native run-ios nuevamente. En la ventana de la terminal, mostró que se estaba agrupando, y luego el simulador mostró la pantalla de bienvenida.

Verifique este enlace para ver breves después de la línea react-native init PropertyFinder , intente usar npm start (este funciona para mí)


También me ha sucedido después de reiniciar mi mac. Hay una ventana de terminal launchPackager que se abre cuando ejecuta su aplicación en el simulador. Cerré esa ventana y terminé el proceso (también oculté el simulador), luego ejecuté nuevamente react-native run-ios y todo funciona bien.


También tuve este problema para mí ... el problema era que el empaquetador no se estaba ejecutando, probablemente porque mi shell predeterminado era zsh. Neumáticos react-native para abrir una nueva ventana de terminal y ejecutar .../node_modules/react-native/packager/launchPackager.command pero esto no se ejecutó. Ejecutarlo manualmente (y mantenerlo en funcionamiento) me solucionó esto.


Tuve el mismo error y pude ejecutar la aplicación solo a través de Xcode. react-native run-ios no funcionó. Para resolver el problema, debe eliminar la carpeta de build en YOUR_PROJECT/ios/build/ . Después de esto, debería poder ejecutar su aplicación a través de react-native run-ios nuevamente. Espero que esto ayude.


Tuve el mismo problema cuando incluí mi aplicación. Verifique que su main.jsbundle esté dirigido a su proyecto principal


Tuve el mismo problema. Pero mi problema era que mi Mac y iPhone no estaban en la misma red wifi.

Así que asegúrese de que todos estén en la misma red y reconstruya nuevamente. Si este no es el caso, pruebe las soluciones mencionadas por otros miembros aquí.


primero cierre el simulador, luego ejecútelos en la terminal

npm install react-native run-ios


verifique su clave ''localhost'' en NSExceptionDomains dict en info.plist

Si no existe, causa un error.


verifique su proxy de red, mejor apáguelo.

o debería encontrar otra forma de mantener el servidor del empaquetador