Àwọn ibi ìpamọ́ dátà àwòrán WKWebView lórí iOS 17+ àti macOS 14+
Lórí iOS 17 tàbí macOS 14 àti àwọn tó tẹ̀ lé e, ṣètò proxyConfigurations kí o tó ṣẹ̀dá àti lọ kiri nínú ìwòye, pẹ̀lú àwọn ẹ̀rí nígbà tí alárinà CONNECT bá nílò wọn.
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)
}Ìwòye tí a dá padà ń lo WKWebsiteDataStore àkànṣe tí kì í dúró. Fi ojúlé wẹ́ẹ̀bù tí o fẹ́ ṣe é lọ́wọ́ nípasẹ̀ ìwòye yẹn. Lo àkọsílẹ̀ alárinà tàbí fi applyCredential sílẹ̀ fún àwòrán tí kò nílò ẹ̀rí kankan. Fún ẹ̀ka HTTP tí kò ní ìjẹ́rìí yẹn, àkójọ àwòrán HTTP ń pèsè àwọn ibi ìparí tí ó lè ṣe fún ibi ìpamọ́ dátà.
Gbogbo ìwòye tí ó ń pín ibi ìpamọ́ yìí ń pín ìlànà àwòrán rẹ̀. Ibi ìpamọ́ àkànṣe yìí tún ní dátà ojúlé wẹ́ẹ̀bù àìpẹ́, nítorí náà kò jogún ìwọlé ojúlé wẹ́ẹ̀bù tí ó wà tẹ́lẹ̀ ti ìwòye mìíràn.
Pa ìṣètò mọ́ ṣáájú ìlọ kiri. WebKit kìlọ̀ pé yíyí ìṣètò àwòrán ibi ìpamọ́ padà lè da nẹ́tíwọ́kì rẹ̀ lọ́wọ́lọ́wọ́ rú.
Ìgbéjáde URLSession ọ̀tọ̀ tí loadHTMLString tẹ̀ lé e ń bo ìgbéjáde HTML yẹn nìkan. Àwọn àwòrán, àwọn skripti àti ìlọ kiri tó tẹ̀ lé e ṣì ń lo nẹ́tíwọ́kì ìwòye; ibi ìpamọ́ ni ìkọ̀kọ̀ ìtagbangba fún ṣíṣètò ọ̀nà yẹn.