Хранение файлов cookie от WKWebView - PullRequest
1 голос
/ 17 октября 2019

Я делаю проект, в котором мне нужно отказаться от HTML, поскольку веб-сайт не предоставляет API. В настоящее время я регистрирую пользователя, внедряя JavaScript на сайт. Пользователь вводит там имя пользователя и пароль в текстовом поле, и когда они нажимают «войти», он вызывает функцию, которая будет запускать этот код.

static let loginView = WKWebView()

@objc func handleLogin() {
    guard let user = username.text, !user.isEmpty else { return }
    guard let pass = password.text, !pass.isEmpty else { return }

    view.endEditing(true)
    SVProgressHUD.show()
    loginButton.isEnabled = false

    LoginController.loginView.evaluateJavaScript("document.getElementById('username').value='\(user)'", completionHandler: nil)
    LoginController.loginView.evaluateJavaScript("document.getElementById('password').value='\(pass)'", completionHandler: nil)
    LoginController.loginView.evaluateJavaScript("document.getElementsByClassName('btn-login')[0].click()", completionHandler: nil)
}

override func viewDidLoad() {
    super.viewDidLoad()
    guard let url = URL(string: "https://example.me.ie") else { return }    
    let request = URLRequest(url: url)
    LoginController.loginView.load(request)
    LoginController.loginView.navigationDelegate = self
}

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

...