Deir d’aip dícheangailte, deir an bharra roghchláir ceangailte, agus tá an trácht ag sileadh go soiléir. Ní coinníoll rása é an bhearna sin a cheartaíonn tú le hatriail: is próisis ar leithligh iad an aip agus an tollán, agus is amharc i dtaisce ar chumraíocht a stórálann an córas é an réad a léann do chód. Is API rialaithe é dromchla Personal VPN Apple, ní conair sonraí, agus eascraíonn an chuid is mó dá iompar aisteach as an aon fhíric sin. Seo a tharlaíonn i ndáiríre faoi gach glao.

Is amharc i dtaisce é réad an bhainisteora, ní an tollán

Líontar NETunnelProviderManager ó stór roghanna ar leis an gcóras é, mar sin ní chiallaíonn a airíonna aon rud go dtí go gcríochnaíonn loadFromPreferences. Má léann tú connection.status roimhe sin faigheann tú luach réamhshocraithe, agus is é sin an fáth a dtuairiscíonn an chéad athnuachan stádais tar éis atosú dícheangailte agus an tollán in airde. Luchtaigh ar dtús, ansin léigh an stádas agus cumraíocht an phrótacail ón láimhseálaí críochnaithe céanna. Breathnaigh athruithe níos déanaí trí NEVPNStatusDidChange in ionad pobalbhreith, agus tabhair faoi deara go spreagann an fógra freisin naisc a thosaíonn On Demand, áit nach bhfuil aon ghlao aipe ann chun rud ar bith a thabhairt ar ais. Tá an rud céanna fíor faoi shocruithe prótacail: léitear iad ón gcumraíocht luchtaithe, ní ón rud a chuir an aip isteach.

Maireann an tollán féin i bpróiseas soláthraí Network Extension, mar sin féadfaidh an aip a staid féin a chailleadh gan an nasc a chailleadh. Caithfear gach rud a thaispeánann an comhéadan a atógáil ón mbainisteoir, ní a mheabhrú ón seisiún deireanach.

Ord tosaithe: sábháil, luchtaigh, ansin tosaigh

Teastaíonn trí chéim in ord ó nasc atá bunaithe ar sholáthraí. Scríobh cumraíocht an tsoláthraí agus glaoigh ar saveToPreferences, luchtaigh an bainisteoir ionas gurbh í an chumraíocht shábháilte an cheann atá agat, ansin tosaigh trí NETunnelProviderSession.startVPNTunnel(). Má scipeann tú an tsábháil, níl aon rud ag an tosú le seoladh; má luchtaíonn tú roimh an tsábháil, tá an bainisteoir fós ag léiriú na sean chumraíochta.

Ní deir an luach Boole a thugann startVPNTunnel ar ais ach gur glacadh leis an iarratas. Tagann teipeanna ar leibhéal an tsoláthraí níos déanaí mar athrú stádais go dícheangailte, a bhreathnaíonn tú tríd an bhfógra NEVPNStatusDidChange, agus caithfidh láimhseálaí an fhógra connection.status a athléamh tar éis loadFromPreferences mar d’fhéadfadh an luach i dtaisce a bheith fós sean. Tagann teipeanna ar leibhéal an iarratais ar ais láithreach ón bhfoirm a chaitheann eisceacht den ghlao, nó trí pharaiméadar amach earráide startVPNTunnelAndReturnError:. Tuairiscíonn cód a mheasann an luach ar ais mar thoradh nasc nár bunaíodh riamh. Is é an teip chiúin eile aitheantóir bearta soláthraí nach n-oireann don eisínteacht shuiteáilte: diúltaítear don iarratas, agus ní chuirfidh aon rud sa teachtaireacht in iúl don aitheantóir. Má tá an t-aitheantóir mícheart, teipeann an t-iarratas go hiondúil láithreach, sula mbíonn aon líne lóig de chuid an tsoláthraí le feiceáil.

Is é athluchtú na roghanna tar éis tosaithe an rud a dhéanann scáileáin stádais ceart. Ní bhrúnn an bainisteoir cumraíocht nua ort nuair a athraíonn an córas í.

Tagann ábhar iontaobhais trí phróifíl, ní ó chód na haipe choíche

Níl aon bhealach tacaithe ag aip chun deimhniú fréimhe a chur le stór iontaobhais iOS, mar sin ní féidir le cumraíocht Personal VPN tagairt a dhéanamh ach d’ábhar a bhfuil muinín ag an ngléas cheana ann: slabhra a bhunaigh próifíl suiteáilte, bainistíocht gléis nó CA a bhfuil muinín ag an gcóras as ar chúiseanna eile. Teipfidh aip a dhéanann a CA féin ar an gcéad seoladh agus a bhfuil súil aici go n-onóróidh an córas é, ar an bhfíorú taobh istigh den soláthraí, áit nach féidir le comhéadan na haipe an chúis a fheiceáil.

Caith le teorainn sin mar an srian dearaidh atá inti agus seol an t-iontaobhas le próifíl an chláraithe. Coinnigh fíordheimhniú VPN ar leithligh ón gcinneadh iontaobhais, mar teipeann siad in áiteanna éagsúla agus dífhabhraíonn daoine éagsúla iad.

Tagann cuntair ón gcomhéadan, ní ón API VPN

Nochtann an bainisteoir stádas agus cumraíocht, agus aon rud a chomhaireann bearta in aghaidh an tolláin. Más gá duit uimhreacha úsáide, glaoigh ar getifaddrs() agus léigh if_data don chomhéadan ábhartha: en0 le haghaidh Wi-Fi, na comhéadain pdp_ip le haghaidh soghluaiste, agus gléas utun don tollán féin. Déanann cuntair utun cur síos ar an trácht istigh agus cuimsíonn siad forchostas an phrótacail.

Is meastacháin iad na figiúirí sin, ní cuntasaíocht in aghaidh na haipe, agus athshocraítear iad nuair a athchruthaítear an comhéadan. Lipéadaigh iad mar sin sa chomhéadan, nó úsáidfidh duine éigin iad chun sonrasc a chur ar chustaiméir. Más gá duit uimhreacha in aghaidh na haipe, teastaíonn meicníocht iomlán eile uait, ní léamh níos fearr ar na réimsí seo.

Baineann glanadh le stopVPNTunnel, ní le foirceannadh

Tugann applicationWillTerminate cúpla soicind duit sula féidir leis an gcóras an próiseas a mharú, agus ní háit iontaofa é chun nasc a bhaint as a chéile. Seol an stad chuig stopVPNTunnel() nó láimhseáil é in aischur stad an tsoláthraí, agus coinnigh an t-aitheantóir bainisteora nó cumraíochta ar thosaigh tú leis ionas gur ar an nasc sin a dhírítear an stad seach ar gach cumraíocht ar an ngléas.

Stóráil an t-aitheantóir sin in aice leis an bpróifíl lena mbaineann sé, ós rud é nach dragann réad bainisteora cé acu cumraíocht a roghnaigh an t-úsáideoir. Agus cuimhnigh nach bhfuil aon ghlao aipe ar chor ar bith taobh thiar de nasc a thógann On Demand, mar sin caithfidh scáileán stádais roghanna a luchtaithe fós sula dtarraingíonn sé rud ar bith.

Ailt ghaolmhara