Faodaidh na h-iarraidhean HTTPS àbhaisteach aig app iOS nochdadh ann am proxy di-bhugaidh fhad 's a tha an trafaig WebSocket aige a dhìth. Comharraich an giùlan WebSocket an toiseach: faodaidh URLSessionWebSocketTask rèiteachadh proxy aig ìre seisean a chleachdadh, ach feumaidh leabharlann a dh'fhosglas a socaidean fhèin an amalachadh taiceil aice fhèin. Airson ceangal amh Network.framework air iOS 17+, rèitich co-theacsa proxy NWConnection fhèin.

Air iOS 17 no nas ùire, cruthaich an seisean le proxy SOCKSv5 follaiseach:

import Foundation
import Network

@available(iOS 17.0, *)
func makeDebugSession() -> URLSession {
    let configuration = URLSessionConfiguration.default
    let endpoint = NWEndpoint.hostPort(
        host: "192.0.2.10", port: 8889)
    configuration.proxyConfigurations = [
        ProxyConfiguration(socksv5Proxy: endpoint)
    ]
    return URLSession(configuration: configuration)
}

Cuir seòladh is port an sgrìobhainn an àite èisteir SOCKS ruigsinneach a' phroxy di-bhugaidh a th' ann mar-thà. Cuir an t-èisteir sin an comas anns an aplacaid proxy. Faodaidh an t-èisteir HTTP aige a bhith air port eile.

Cruthaich an webSocketTask bhon t-seisean a thèid a thilleadh. Chan eil gnìomh a thèid a chruthachadh tro URLSession eile a' sealbhachadh tar-sgrìobhadh an t-seisein seo. Bidh sreath proxyConfigurations falamh a' cleachdadh ro-ghnàthan an t-siostaim; chan e taghadh follaiseach de shlighe dhìreach a th' ann.

Tha ruigsinneachd agus teachdaireachdan leughaidh nan clachan-mìle air leth

Feumaidh fòn corporra seòladh a ruigeas an coimpiutair di-bhugaidh. Air an fhòn sin, tha 127.0.0.1 ag ainmeachadh an fhòn fhèin. Thoir sùil air eadar-aghaidh an èisteir agus ruigsinneachd ceadaichte luchd-cleachdaidh a' phroxy nuair nach ruig an ceangal a-riamh air.

Bidh slighe SOCKS a' giùlan a' cheangail. Feumaidh leughadh susbaint wss cuideachd rèiteachadh sgrùdaidh TLS na h-inbhe di-bhugaidh agus earbsa iomchaidh air an inneal. Faodaidh prìneadh theisteanas no buileachadh TLS air leth casg a chur air an sgrùdadh sin eadhon nuair a ruigeas an trafaig an t-èisteir.

Lorg an t-iomlaid WebSocket agus na teachdaireachdan an dèidh a' cheangail a stèidheachadh. Chan e dearbhadh a th' ann a bhith a' faicinn dìreach aon iarraidh cunntais-shluaigh bho aplacaid Socket.IO gun do chleachd a giùlan WebSocket nas fhaide air adhart an aon slighe. Cùm an rèiteachadh di-bhugaidh follaiseach seo taobh a-staigh àrainneachd leasachaidh a bha san amharc aig an app.

Artaigilean co-cheangailte