Lori iOS 17 ati ju bẹẹ lọ, Network.framework le lo SOCKSv5 proxy nipasẹ ipo aṣiri. So ipo yẹn mọ awọn paramita ṣaaju ki o to ṣẹda asopọ naa:

import Network

@available(iOS 17.0, *)
func makeConnection() -> NWConnection {
    let parameters = NWParameters.tls
    let context = NWParameters.PrivacyContext(description: "Service route")
    let endpoint = NWEndpoint.hostPort(
        host: "proxy.example", port: 1080)
    context.proxyConfigurations = [
        ProxyConfiguration(socksv5Proxy: endpoint)
    ]
    parameters.setPrivacyContext(context)
    return NWConnection(
        host: "service.example", port: 443, using: parameters)
}

Iṣẹ naa da asopọ TLS ti ko tii bẹrẹ pada. Fi iṣakoso ipo ti app sori, bẹrẹ rẹ lori ila ti a pinnu, lẹhinna paarọ ilana app nipasẹ ọna fifiranṣẹ ati gbigba deede rẹ.

proxy.example:1080 ni olutẹtisi SOCKS. Fun awọn asopọ iṣẹ gbangba ti a gba laaye, akojọ proxy SOCKS5 n pese awọn oludije olupin ati ibudo. service.example:443 wa ni ibi-afẹde. Ipo aṣiri naa n lo awọn atunto proxy rẹ si awọn asopọ ti o ni ibatan si ipo yẹn; ṣiṣẹda asopọ ti ko ni ibatan pẹlu awọn paramita miiran ko jogun eto yii.

Eyi ni wiwo asopọ ti Network.framework. Iyipada proxy URLSession tabi eto ibi ipamọ data WKWebView n ṣe atunto awọn olumulo lọtọ yẹn. Fun WebSocket ti a kọ lori NWConnection, app gbọdọ tun pese awọn aṣayan ilana WebSocket ti o yẹ.

Àwọn àpilẹ̀kọ tó jọra