WKWebView-proxygegevensopslach op iOS 17+ en macOS 14+
Stel op iOS 17 of macOS 14 en letter proxyConfigurations yn foar it meitsjen en navigearjen fan 'e werjefte, mei oanmeldgegevens as de CONNECT-tuskenpersoan dy nedich hat.
import Network
import WebKit
@available(iOS 17.0, macOS 14.0, *)
@MainActor
func makeWebView(username: String, password: String) -> WKWebView {
let endpoint = NWEndpoint.hostPort(
host: "proxy.example.net", port: 8080)
let proxy = ProxyConfiguration(
httpCONNECTProxy: endpoint, tlsOptions: nil)
proxy.applyCredential(username: username, password: password)
let store = WKWebsiteDataStore.nonPersistent()
store.proxyConfigurations = [proxy]
let configuration = WKWebViewConfiguration()
configuration.websiteDataStore = store
return WKWebView(frame: .zero, configuration: configuration)
}De weromjûn werjefte brûkt in tawijde net-persistinte WKWebsiteDataStore. Laad de bedoelde website fia dy werjefte. Brûk it akkount fan 'e tuskenpersoan of lit applyCredential weilitten foar in proxy dy't gjinien fereasket. Foar dy net-ferifisearre HTTP-tûke leveret de HTTP-proxylist kandidaat-einpunten foar de gegevensopslach.
Elke werjefte dy't dizze opslach dielt, dielt syn proxybelied. Dizze tawijde opslach hat ek efemere websitedgegevens, dat er net de besteande website-oanmelding fan in oare werjefte ervet.
Hâld de konfiguraasje foar de navigaasje. WebKit warskôget dat it feroarjen fan 'e proxykonfiguraasje fan in opslach syn aktuele netwurk ûnderbrekke kin.
In aparte URLSession-ophelling folge troch loadHTMLString beslacht allinnich dy HTML-ophelling. Ofbyldings, skripts en lettere navigaasje brûke noch altyd it netwurk fan 'e werjefte; de opslach is de iepenbiere heak om dy rûte te konfigurearjen.