Кордова проблема при использовании localStorage и onResume - PullRequest
0 голосов
/ 12 октября 2019

Я использую версию Cordova Platform: ios 4.5.5. Вот мой index.js файл:

var app = {
    // Application Constructor
    initialize: function() {
        document.addEventListener('deviceready', this.onDeviceReady.bind(this), false);
        document.addEventListener('resume', this.onResume.bind(this), false);
    },

    onResume: function() {
        alert('ON RESUME');
    };

    onDeviceReady: function() {
      StatusBar.backgroundColorByHexString('#FFFFFF');
      var push = PushNotification.init({
        android: {},
        browser: {},
        ios: {
          alert: "true",
          badge: "true",
          sound: "true"
        },
        windows: {}
      });

      push.on('notification', function (data) {
        console.log(data)
      });

      push.on('error', function (err) {
        console.log(err)
        alert('Event=error, message=' + err.message)
      });

      push.on('registration', function (data) {
        console.dir(data)
        console.log('registrationId:' + data.registrationId)

       window.localStorage.setItem("regId", data.registrationId);
      });

     alert('TEST' + window.localStorage.getItem("regId"))
     cordova.InAppBrowser.open('site_url', '_self');
    }
};

app.initialize();

1) Когда я устанавливаю localStorage, он не работает при первой загрузке приложения в xCode с удаленной отладкой на моем iPhone. Если я останавливаю симулятор и запускаю его снова, он, кажется, работает.

2) Чтобы мое приложение работало, мне нужно закомментировать функцию onResume. Я помещаю это в неправильное место? Я пытаюсь отладить это с помощью инструмента Safari Developer на моем Mac. Но я не вижу полезного сообщения об ошибке. Страница приложения просто открывается на пустую белую страницу, и никаких предупреждений не появляется.

edit: я смог загрузить приложение, переместив прослушиватель событий внутри моей функции onDeviceReady:

onDeviceReady: function() {
      document.addEventListener("resume", function(){
        alert('ON RESUME');
      }, false)
...

Однако, когда я открываю другое приложение, а затем снова открываю мое, я не вижу предупреждения.

...