加载特定网站时,我必须指定一个Cookie。
在应用程序生命周期中,第一次将Cookie成功发送到服务器。
但是,一旦重新加载此页面或将其移至另一页面,就不会将cookie发送到服务器。
我什至直接查看了print()
函数,看是否有一个cookie,但是服务器没有。
但是,如果我完全退出应用程序并重试,则cookie仍将在第一次发送到服务器。但是之后,出现了同样的问题。
override func loadView() {
super.loadView()
self.configureWebView()
}
private func configureWebView() {
let contentController = WKUserContentController()
contentController.add(self, name: "handler")
let configuration = WKWebViewConfiguration()
configuration.userContentController = contentController
if let cookie = UserAccountManager.shared.cookie {
print(cookie)
configuration.websiteDataStore.httpCookieStore.setCookie(cookie) {
self.webView = WKWebView(frame: self.view.bounds, configuration: configuration)
self.webView?.uiDelegate = self
self.webView?.navigationDelegate = self
guard let url = URL(string: self.url) else { return }
let request = URLRequest(url: url)
guard let webView = self.webView else { return }
webView.load(request)
self.view = self.webView
}
}
}
我不知道自己在想什么。
感谢您的帮助。