Плагин Flutter Webview не сохраняет сеансовые куки на iOS? - PullRequest
1 голос
/ 20 января 2020

Я занимаюсь разработкой простого приложения на Android Studio с использованием Flutter и flutter_webview_plugin .

Начальным URL является страница входа. После входа в систему я закрываю приложение и затем снова открываю его. После повторного открытия я все еще вошел в систему на Android, но на iOS мне снова показывают страницу входа.

Как я могу сохранить куки сессии?

У меня есть уже установлен clearCookies: false, при создании экземпляра плагина. Я видел здесь некоторые упоминания о NSHTTPCookieStorage на iOS, но не уверен, является ли это ключом к решению моей проблемы.

Вот мой код:

import 'package:flutter/material.dart';
import 'package:flutter_webview_plugin/flutter_webview_plugin.dart';

class WebView extends StatelessWidget {
  final String selectedUrl = "https://servicedesk.roff.pt/suporte";

  @override
  Widget build(BuildContext context) {
    return new SafeArea(
      left: false,
      top: true,
      right: false,
      bottom: false,
      child: WebviewScaffold(
        url: selectedUrl,
        withZoom: true,
        withLocalStorage: true,
        clearCookies: false,
        hidden: true,
        initialChild: Container(
          color: Colors.black,
          child: const Center(
            child: Padding(
              padding: EdgeInsets.all(8.0),
              child: Image(
                image: AssetImage('lib/assets/splash.png'),
              ),
            ),
          ),
        ),
      ),
    );
  }
}

Вся помощь оценили

1 Ответ

1 голос
/ 24 января 2020

Для достижения тех же результатов, что и на Android на платформе iOS, необходимо убедиться, что ваши WebView созданы из одного пула WebView. К сожалению, текущая версия FlutterWebViewPlugin не поддерживает такое поведение.

Вместо этого можно использовать эту вилку . Просто будьте ясны: использование приведет к созданию всех ваших WebViews из того же пула. Если это не проблема, go впереди.

...