WKWebView setCookie在某些情况下不起作用。 (iOS)

时间:2019-07-03 08:36:30

标签: swift cookies wkwebview wkwebviewconfiguration

加载特定网站时,我必须指定一个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
        }
    }
}

我不知道自己在想什么。
感谢您的帮助。

0 个答案:

没有答案