如何在 WKWebview iOS Swift 中保留 Cookie - iOS 13 SwiftUI



我正在寻找使用SwiftUI构建的基于SDKWKWebview的应用程序的解决方案iOS 13以便在应用程序使用的不同会话之间保存cookie。

这个问题已经在堆栈溢出中进行了多次讨论,为ObjectiveC提供了不同的解决方案,SwiftStoryboards

我正在询问社区是否有现成的代码检查,了解如何在iOS 13WKWebView具有SwiftUI的应用程序上提供 Cookie 持久性WKWebView

明确地说:我的应用程序访问远程 Web 服务器,其网站设计得像移动应用程序一样。它不是本地 Web 应用程序,需要在本地操作 cookie。只是为了在页面代码中从远程服务器在网站中Jquery JScookie 操作,以便在应用程序的不同会话中工作和保存,

我当前的代码版本:

import SwiftUI
import WebKit
struct ContentView: View {
var body: some View {
WebView().edgesIgnoringSafeArea(.all)
}
}
struct WebView: UIViewRepresentable {
func makeUIView(context: Context) -> WKWebView {
let webView = WKWebView()
webView.scrollView.isScrollEnabled = false
return webView
}
func updateUIView(_ webView: WKWebView, context: Context) {
let liveView = "https://example.com/projectname/index.html"
if let url = URL(string: liveView) {
let request = URLRequest(url: url)
webView.load(request)
}
}
}
#if DEBUG
struct ContentView_Previews : PreviewProvider {
static var previews: some View {
ContentView()
}
}
#endif

设置配置webView.configuration.websiteDataStore.httpCookieStore

有关示例,请参阅此答案