Ioni c Webview не синхронизирует файлы cookie при первом запуске IOS - PullRequest
1 голос
/ 05 мая 2020

Помогите пожалуйста !! Я использую Ioni c 5 с Angular и Cordova. Мое приложение отлично работает при тестировании в браузерах и Android устройствах, но когда оно впервые устанавливается на моем устройстве (iphone) через Xcode, файлы cookie не принимаются или отправляются должным образом. Мое приложение использует аутентификацию на основе cook ie, поэтому, когда я получу свой ответ на вход, у него будет cook ie, которая должна быть отправлена ​​со всеми последующими запросами. Однако при первом запуске после установки я вообще не могу войти в систему. Когда я выхожу и перезапускаю свое приложение, оно работает отлично. Я считаю, что это связано с тем, что веб-просмотр не синхронизирует файлы cookie правильно. Я пробовал все решения в этом посте: https://github.com/Telerik-Verified-Plugins/WKWebView/issues/247, но плагины настолько устарели, что я не могу заставить его работать должным образом.

Я искал решение в течение нескольких недель и я полностью застрял и истощен на этом этапе. Я новичок в Ioni c и разработке в целом, поэтому любая помощь будет принята с благодарностью! Я предоставлю любой полезный код или скриншоты, просто дайте мне знать, чем я должен поделиться.

1 Ответ

0 голосов
/ 30 мая 2020

Я не знаю, решили ли вы эту проблему, поскольку с момента вашего запроса прошло 24 дня, но:

У меня была аналогичная проблема. Я использую плагин cordova-plugin-wkwebview-cook ie -syn c, и даже несмотря на то, что cook ie был установлен, страница загружалась как не была. Все, что мне нужно было сделать, это обновить $ ('body'). Append (_return); в $ ('body'). html (_ return); и контент появился с помощью повара ie.

Это мой код:

function loadApp() {
  $.ajax({
    // this url sets the cookie when called
    url: "example.com",
    success: function (_return) {
      if (_return) {
        // the _return value uses the cookie to display custom data
        // I previously used the append() method here
        $("body").html(_return);
      }
    },
  });
}

document.addEventListener("deviceready", onDeviceReady, false);

function onDeviceReady() {
  wkWebView.injectCookie(
    "www.example.com/index",
    function () {
      // success callback
      loadApp();
    },
    function () {
      // error callback
      //alert('error');
    }
  );
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...