2016-05-31 15 views
8

L'app Ardoid si è arrestata in modo imprevisto.Cordova Ionic - L'app si è arrestata in modo imprevisto

Il collegamento al file di controllo è: https://www.dropbox.com/s/d0lc34q3mzlgfkj/controllers.js?dl=0

Il problema si è verificato dopo che ho aggiornato il mio OSX a El Capitan. Prima di aggiornare l'applicazione si avviava perfettamente nell'emulatore. Ora, anche se costruisco l'APK e provo a installarlo su un telefono, non si installerebbe.

seguito è un'immagine del mio file di registro:

enter image description here

Che cosa sto facendo di sbagliato?

+0

Il registro non è completo: mostra solo che l'applicazione sta lavorando su un thread principale. Per ottenere i migliori risultati (se l'applicazione non viene installata sul telefono) - fornire l'output di 'adb bugreport> bugreport.txt' Oppure se l'applicazione si arresta in modo imprevisto - cercare la parola FATAL nel logcat – Oleksandr

+0

@Oleksandr Nessuna parola fatale in logcat. Questo è il link al bugreport https://www.dropbox.com/s/jkw9khou9ldnz2v/bugreport.txt?dl=0 –

+0

Quale versione di Ionic, AngularJS e Cordova stai usando? Possiamo vedere anche parte della struttura HTML? – thepio

risposta

2

Ok, quindi trovo un sacco di cose che potrebbero causare questo problema per voi.

Prima di tutto si prega di considerare l'utilizzo di $stateProvider di dichiarare i vostri stati e impostare i controllori per lo stato in modo da non caricare tutti allo stesso tempo e su esegue l'applicazione (non so se si è appena impostata tutto il codice in un unico file per mostrarci cosa hai). Ma si sa nel set di configurazione angolare:

Esempio di utilizzo del $stateProvider:

$stateProvider 
    .state('app.page1', { 
    url: '/page1', 
    templateUrl: 'templates/page1.html', 
    controller: 'Page1Ctrl' 
    } 
}); 

In secondo luogo c'è un sacco di errori/errori di sintassi nel codice. Non sono sicuro di quale IDE (editor) si sta utilizzando, ma per favore considera l'aggiunta di un plugin jshint (potresti anche eseguirlo attraverso una jshint online @http://jshint.com/) o qualcosa di simile al tuo IDE se possibile. Indicherà gli errori nel tuo codice. Alcuni errori nel codice è:

  • manca un sacco di punti e virgola delle variabili di ambito e le funzioni (questo porterà a JavaScript di non sapere dove andare prossimo ecc)
  • Uso degli operatori JavaScript cattivi come resp.data.errors.email != undefined che dovrebbe essere resp.data.errors.email !== undefined

anche questo è davvero male:

moment($scope.iosDate.value.toISOString()).hour(7).minute(0).toISOString(), 
     moment($scope.iosDate.value.toISOString()).hour(8).minute(0).toISOString(), 
     moment($scope.iosDate.value.toISOString()).hour(9).minute(0).toISOString(), 
      moment($scope.iosDate.value.toISOString()).hour(10).minute(0).toISOString(), 
      moment($scope.iosDate.value.toISOString()).hour(11).minute(0).toISOString(), 
      moment($scope.iosDate.value.toISOString()).hour(12).minute(0).toISOString(), 
      moment($scope.iosDate.value.toISOString()).hour(13).minute(0).toISOString(), 
       moment($scope.iosDate.value.toISOString()).hour(14).minute(0).toISOString(), 
       moment($scope.iosDate.value.toISOString()).hour(15).minute(0).toISOString(), 
       moment($scope.iosDate.value.toISOString()).hour(16).minute(0).toISOString(), 
       moment($scope.iosDate.value.toISOString()).hour(17).minute(0).toISOString(), 
       moment($scope.iosDate.value.toISOString()).hour(18).minute(0).toISOString(), 
        moment($scope.iosDate.value.toISOString()).hour(19).minute(0).toISOString(), 
        moment($scope.iosDate.value.toISOString()).hour(20).minute(0).toISOString(), 
        moment($scope.iosDate.value.toISOString()).hour(21).minute(0).toISOString(), 
        moment($scope.iosDate.value.toISOString()).hour(22).minute(0).toISOString() 

mi immagino che si può fare questo in qualche altro modo.

Controllare anche la dimensione del file di risorse. Ad esempio, se si utilizzano immagini di sfondo, icone o simili, controllare che non siano eccessivamente grandi.

Questi sono i primi pensieri che mi sono venuti in mente guardando il tuo codice. Si prega di provare prima questi (almeno correggere gli errori nel codice) e fammi sapere se è di aiuto per il tuo problema.