ios - link - react native share
¿Cuál es el significado de ''No hay URL de paquete presente'' en react-native? (30)
-
compruebe sus hosts que
127.0.0.1 localhost
no se elimina - compruebe que el agente de red no esté configurado
-
luego,
npm install
&react-native upgrade
para restablecer su proyecto
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 ..)
Cierra tu simulador y la terminal. Abra uno nuevo y vaya a su proyecto, luego actualice su react-native de esta manera:
react-native upgrade
Emitir en: https://github.com/facebook/react-native/issues/5090
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
enYOUR_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
oyarn 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
oyarn 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 dereact-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:
-
Supongamos que ejecuta
npm install -g react-native-cli
en elnode v6.9.5
. -
Ahora haga el
node v6.9.5
como predeterminado ejecutandonvm alias default 6.9.5
-
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. 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