Я делаю проект, в котором мне нужно отказаться от 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
}
По какой-то причине, когда пользователь закрывает приложение. они должны войти обратно, но когда я делаю это через веб-сайт, он сохраняет куки, и пользователю не нужно входить в систему снова. Есть ли способ, где я могу сохранить куки, чтобы пользователю не пришлось проходить черезэтот процесс.