Как сохранить Cookies в WKWebview iOS Swift - iOS 13 SwiftUI - PullRequest
0 голосов
/ 16 февраля 2020

Я ищу решение для iOS 13 SDK WKWebview приложения, созданного с SwiftUI, для сохранения файлов cookie между различными сеансами использования приложения.

Эта проблема неоднократно обсуждалась через переполнение стека предоставлены различные решения для ObjectiveC и Swift с Storyboards.

Я спрашиваю сообщество, готов ли к использованию код, например, как предоставить WKWebView Cook ie Постоянство при iOS 13 WKWebView приложение с SwiftUI используется

Чтобы было ясно: мое приложение обращается к удаленному веб-серверу с веб-сайта, разработанного как мобильное приложение. Это не локальное веб-приложение, которому нужно манипулировать файлами cookie локально. Просто для того, чтобы манипулировать файлами cookie на веб-сайте с удаленного сервера в Jquery JS коде страницы, чтобы они работали и сохранялись в разных сеансах приложения,

Моя текущая версия кода:

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

1 Ответ

0 голосов
/ 16 февраля 2020

Установить конфигурацию webView.configuration.websiteDataStore.httpCookieStore

см. этот ответ для примера

...