Ion emulate ios solo funciona con –livereload

Tengo una aplicación iónica simple que estoy construyendo y cuando ionic serve --lab con el ionic serve --lab , todo se ve muy bien, sin embargo, cuando trato de emular en los simuladores con ionic emulate ios ionic emulate android o ionic emulate android , la aplicación no funciona carga (parece que todo el JS no está llegando). Puedo adjuntar el depurador y no hay ningún error de console.

Pero, cuando bash y ejecuto la aplicación con ionic emulate ios --livereload todo parece funcionar bien.

Probé otra aplicación de muestra desde cero para descartar mi máquina env y funcionó bien.

¿Alguna idea sobre cómo puedo hacer que el emulador funcione sin –livereload?

Tuve el mismo problema hoy. Lo resolví eliminando ciertas dependencies angulares que no estaban siendo detectadas por la compilation ios. Compruebe su jslint para cualquier advertencia que pueda proporcionar más información sobre qué dependencies se pueden inyectar incorrectamente o faltan.

Vea este comentario en los foros jónicos para get más información.

En mi caso, la pantalla blanca de la muerte fue causada por malas references a los componentes de la entwigda.

Para nuestro process de compilation, la location relativa de los componentes de Bower es diferente es la "fuente" en comparación con cuando la aplicación ha sido empaquetada en "www" (los componentes de Bower se copyn en el directory raíz).

La siguiente reference funciona cuando se sirve la aplicación (si se pasa el mouse por encima de los enlaces en el inspector de Chrome, se elimina el ".."), pero no funciona cuando se inicia en un dispositivo / emulador:

 <script src="../bower_components/angular/angular.js"></script> 

La recarga en vivo funciona porque la aplicación no se está enviando desde el sistema de files del dispositivo . En cambio, Ionic lo está sirviendo desde la máquina host y presumiblemente la mala ruta relativa ("..") se ignora silenciosamente como es cuando se testing en el browser.

La solución de los paths de la siguiente manera se resolvió en el problema:

 <script src="bower_components/angular/angular.js"></script> 

La pregunta pendiente es por qué ningún componente aparente de la aplicación arroja errores aparentes.

1. Encontrar errores

Comienza tu emulación de esta manera

  $ ionic emulate android -l -c 

Esto emulará con livereload e iniciará session en su console .

Ahora deberías ver qué es lo que causa el error, inició session en el terminal.

2. Missing Cordova Whitelist Plugin?

A menudo hay el complemento de list blanca de Cordova que falta. Como puede leer aquí simplemente siga estos pasos para que este plugin funcione.

 $ ionic plugin add https://github.com/apache/cordova-plugin-whitelist.git 

si ya no lo ha agregado

abra su config.xml dentro de su raíz del proyecto y agregue esta línea dentro de la label <widget> .

 <allow-navigation href="*" /> 

En mi caso, el problema se debió a tener un <base href="/"> en mi index.html, lo que no evitó que Ionic encontrara files alojados localmente (a través de –livereload), pero impidió totalmente que Ionic encontrara files dentro de Incluye aplicaciones iOS o Android.