WKWebView proxy dátugoymslur á iOS 17+ og macOS 14+
Á iOS 17 ella macOS 14 og seinni, set proxyConfigurations áðrenn tú skapar og navigerar síðuna, við váttanum tá CONNECT-millumliðið hevur tørv á teimum.
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)
}Sein síðan brúkar eitt serstakt ikki-varandi WKWebsiteDataStore. Les ta ætlaðu heimasíðuna gjøgnum ta síðuna. Brúka kontu millumliðsins ella slepp applyCredential fyri ein proxa sum ikki krevur nakran. Fyri ta óvottaðu HTTP-greinina veitir HTTP-proxalistin møgulig endapunkt til dátugoymsluna.
Síða sum býtir hesa goymslu býtir eisini proxa-politikk hennara. Henda serstaka goymsla hevur eisini fyribils heimasíðudáta, so hon arvar ikki eina aðra síðu verandi heimasíðu-innritan.
Halt uppsetingina framman fyri navigatiónina. WebKit ávarar um at broyta proxa-uppsetingina hjá eini goymslu kann órógva núverandi netverk hennara.
Eitt serstakt URLSession-søk og síðan loadHTMLString fevnir bert um ta HTML-søkina. Myndir, skript og seinni navigatión brúka framvegis netverk síðunnar; goymsla er tann almenni krókurin at seta ta leiðina upp.