Stórais sonraí proxy WKWebView ar iOS 17+ agus macOS 14+
Ar iOS 17 nó macOS 14 agus níos déanaí, socraigh proxyConfigurations sula gcruthaítear agus sula ndéantar an t-amharc a nascleanúint, le teastais nuair a bhíonn siad ag teastáil ón idirghabhálaí CONNECT.
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)
}Úsáideann an t-amharc a chuirtear ar ais WKWebsiteDataStore tiomnaithe neamhsheasmhach. Luchtaigh an suíomh Gréasáin atá beartaithe tríd an amharc sin. Úsáid cuntas an idirghabhálaí nó fág applyCredential ar lár do sheachfhreastalaí nach dteastaíonn ceann ar bith uaidh. Don bhrainse HTTP neamhfhíordheimhnithe sin, soláthraíonn an liosta seachfhreastalaí HTTP críochphointí iarrthacha don stór sonraí.
Roinneann gach amharc a roinneann an stór seo a bheartas seachfhreastalaí. Tá sonraí suímh ghréasáin eadrannacha ag an stór tiomnaithe seo freisin, mar sin ní fhaigheann sé oidhreacht ar logáil isteach suímh ghréasáin atá ag amharc eile.
Coinnigh an chumraíocht roimh an nascleanúint. Tugann WebKit rabhadh go bhféadfadh athrú ar chumraíocht seachfhreastalaí stóir cur isteach ar a líonrú reatha.
Ní chlúdaíonn faighteoir URLSession ar leithligh agus loadHTMLString ina dhiaidh ach an fhaighteoir HTML sin. Úsáideann íomhánna, scripteanna agus nascleanúint níos déanaí líonrú an amhairc fós; is é an stór an crúca poiblí chun an bealach sin a chumrú.