2016-05-31 3 views
8

Приложение Ardoid неожиданно остановилось.Cordova Ionic - неожиданно остановлено приложение

Ссылка на файл контроллера является: https://www.dropbox.com/s/d0lc34q3mzlgfkj/controllers.js?dl=0

Проблема возникла после того, как я обновил свой OSX в Эль Капитане. Перед обновлением приложение будет отлично запускаться в эмуляторе. Теперь, даже если я создам APK и попытаюсь установить его на телефон, он не будет установлен.

Ниже изображение моего файла журнала:

enter image description here

Что я делаю неправильно?

+0

Ваш лот не заполнен - ​​он просто показывает, что ваше приложение работает с основным потоком. Для достижения наилучших результатов (если ваше приложение не устанавливается на телефоне) - укажите вывод «adb bugreport> bugreport.txt», или если приложение неожиданно остановится - найдите слово FATAL в logcat – Oleksandr

+0

@Oleksandr Нет фатального слова в logcat. Это ссылка на bugreport https://www.dropbox.com/s/jkw9khou9ldnz2v/bugreport.txt?dl=0 –

+0

Какую версию Ionic, AngularJS и Cordova вы используете? Можем ли мы также увидеть некоторые из ваших HTML-структуры? – thepio

ответ

2

Хорошо, поэтому я нахожу много вещей, которые могут вызывать эту проблему для вас.

Прежде всего, пожалуйста, используйте $stateProvider, чтобы объявить свои состояния и установить контроллеры для каждого состояния, чтобы они не загружали все одновременно и при запуске приложения (не уверен, что вы только что установили весь код в один файл, чтобы показать нам, что у вас есть). Но вы знаете, в вашем угловом наборе конфигурации:

Пример использования $stateProvider:

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

Во-вторых есть много ошибок/синтаксических ошибок в коде. Я не уверен, какой IDE (редактор) вы используете, но, пожалуйста, подумайте над добавлением плагина jshint (вы также можете запустить его через онлайн-jshint @http://jshint.com/) или что-то похожее на вашу IDE, если это возможно. Он укажет на ошибки в вашем коде. Некоторые ошибки в вашем коде:

  • Отсутствующие много запятой в области видимости переменных и функций (это приведет к JavaScript, чтобы не знать, куда идти дальше и т.д.)
  • Использование плохих JavaScript операторы, такие как resp.data.errors.email != undefined, которые должны быть resp.data.errors.email !== undefined

Это также очень плохо:

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() 

Я предположил бы, что вы можете сделать, это какой-то другой путь.

Также проверьте размер файлов ресурсов. Например, если вы используете фоновые изображения, значки или аналогичные, убедитесь, что они не слишком огромны.

Это первые мысли, которые приходят мне на ум, когда смотришь на свой код. Попробуйте сначала (по крайней мере, исправьте ошибки в коде) и сообщите мне, если это поможет вашей проблеме.

Смежные вопросы