iOS 17 ۋە ئۇنىڭدىن كېيىنكى نەشرىلەردە Network.framework شەخسىيەت مۇھىتى ئارقىلىق SOCKSv5 ۋاكالەتچىسىنى قوللىنالايدۇ. ئۇلىنىش قۇرۇشتىن بۇرۇن بۇ مۇھىتنى پارامېتىرلارغا ئۇلاڭ:

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)
}

بۇ فۇنكسىيە باشلانمىغان TLS ئۇلىنىشىنى قايتۇرىدۇ. ئەپنىڭ ھالەت باشقۇرۇشىنى قوزغىتىپ، ئۇنى كۆزلىگەن تەرەپتە باشلاڭ، ئاندىن ئەپ پروتوكولىنى ئادەتتىكى يوللاش ۋە قوبۇل قىلىش يولى ئارقىلىق ئالماشتۇرۇڭ.

proxy.example:1080 بولسا SOCKS ئاڭلىغۇچى. رۇخسەت قىلىنغان ئاممىۋى مۇلازىمەت ئۇلىنىشلىرى ئۈچۈن SOCKS5 ۋاكالەتچى تىزىملىكى ساھىب ۋە پورت نامزاتلىرىنى تەمىنلەيدۇ. service.example:443 نىشان بولۇپ قالىدۇ. شەخسىيەت مۇھىتى ئۆزىنىڭ ۋاكالەتچى سەپلىمىلىرىنى شۇ مۇھىتقا مۇناسىۋەتلىك ئۇلىنىشلارغا قوللىنىدۇ؛ باشقا پارامېتىرلار بىلەن مۇناسىۋەتسىز ئۇلىنىش قۇرۇش بۇ سەپلىمىنى مىراس ئالمايدۇ.

بۇ Network.framework نىڭ ئۇلىنىش كۆرۈنمە يۈزى. URLSession ۋاكالەتچىسىنى قاپلاش ياكى WKWebView سانلىق مەلۇمات ئامبىرى تەڭشىكى شۇ ئايرىم ئىشلەتكۈچىلەرنى سەپلەيدۇ. NWConnection ئاساسىدا قۇرۇلغان WebSocket ئۈچۈن، ئەپ مۇۋاپىق WebSocket پروتوكول تاللانمىلىرىنىمۇ تەمىنلىشى كېرەك.

مۇناسىۋەتلىك ماقالىلەر