WKWebview iOS (swift): оставляйте сеанс подключенным после закрытия приложения - PullRequest
0 голосов
/ 13 ноября 2018

Я хочу сделать приложение из PWA на iOS с помощью простого WKWebView. Мне удалось реализовать это простым ViewController, и он работает нормально.

Проблема : при входе в систему и выходе из приложения сеанс теряется, и мне необходимо снова войти в систему.

Вопрос : Можно ли сохранить информацию о сеансе после того, как пользователь вышел из приложения?

Заранее спасибо за ваши ответы!

Ответы [ 2 ]

0 голосов
/ 13 ноября 2018

Вам необходимо просмотреть данные сеанса. Для WKWebView все это является частью WKProcessPool. Поэтому, когда ваше приложение переходит в фоновый режим, вам нужно изучить возможность сохранения сеанса WKProcessPool, а при использовании веб-представления всегда использовать тот же экземпляр WKProcessPool.

Вот ответ, который может помочь вам сохранить эти данные в ваших пользовательских данных. https://stackoverflow.com/a/52109021/2658489

0 голосов
/ 13 ноября 2018

Я думаю, что вы должны реализовать API входа для авторизации и пользовательского интерфейса входа в Native App, а затем вы можете иметь элементы панели мониторинга, используя один контроллер WKWebView.

Когда пользователь вошел в систему с собственной страницы - loginViewController,Вы должны сохранить имя пользователя, пароль (возможно, зашифрованный) в настройках пользователя, например, g.

 UserDefaults.standard.set(userName, forKey: keyUserName)
 UserDefaults.standard.set(userPassword, forKey: keyPassword)
 UserDefaults.standard.synchronize()

В следующий раз (после выхода из приложения), когда вы вернетесь назад, вы можете проверить автоматический вход в AppDelegate - didFinishLaunchingWithOptions, например

if let username = UserDefaults.standard.value(forKey: keyUserName) as? String,
        password = UserDefaults.standard.value(forKey: keyPassword) as? String
    {
            /// DO AUTOLOGIN .. CALL API AND LAND TO DASHBOARD PAGE (WKWebView)..
    }
...