我正在寻找解决方案,用于基于 SwiftUI
构建的使用 iOS 13
SDK WKWebview
的应用程序,以便在不同的应用程序使用会话之间保存 cookie。
这个问题已经在 stackoverflow 上得到了多次讨论,并提供了不同的解决方案,包括使用 ObjectiveC
和 Swift
以及 Storyboards
。
我想问问社区是否有现成的代码示例,可以在使用 SwiftUI
的 iOS 13
WKWebView
应用程序中提供 WKWebView
Cookie 持久性。
为了明确起见:我的应用程序访问远程 Web 服务器,该 Web 站点被设计为类似于移动应用程序。它不是需要在本地操作 cookie 的本地 Web 应用程序。只需在远程服务器上的网页的 Jquery JS
代码中进行 cookie 操作,以便能够跨不同的应用程序会话工作并保存。
我的当前代码版本:
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