Неге сіздің iPhone қолданбасы жүйелік VPN-ды қоса немесе өшіре алмайды
Жария қолданба жүйелік VPN-ды ауыстыра алмайды, күйін оқи алмайды және қосылымды мәжбүрлей алмайды. On Demand ережелері, қадағаланатын құрылғылардағы Always On профильдері және MDM — бұл нұсқалар.
Өнім менеджері компания VPN-ын қосатын батырма сұрайды, ал өтініш қарапайым болып естіледі. iOS-те бұл шағын функция емес; ол жария шарттан тыс тұр, және әрбір айналма жол не тексеруден өтпейді, не келесі шығарылымда сынады. Өтінішті платформа шынымен рұқсат ететін нәрселер арқылы өткізіңіз, және дизайн көбіне өзі жазылады. Қолданба VPN конфигурациясына ие бола алады және оны іске қоса алады. Қолданба жүйелік ажыратқышқа жете алмайды, өзі жасамаған профильдің күйін оқи алмайды және пайдаланушыны өз еркіне қарсы қосылған күйде ұстай алмайды.
Пайдаланушы меңзеген үш нәрседен бастаңыз
API-ларды бөлмес бұрын мағыналарды бөліңіз. Кейде пайдаланушы қолданбаңыздың туннелі қосылғанын қалайды, кейде басқа біреу орнатқан профиль үшін Параметрлердегі ажыратқышты қосқысы келеді, ал кейде телефон туннелсіз шолу жасай алмауын қалайды. Бұлар үш түрлі механизмге сәйкес келеді, және қарапайым қолданбаға тек біріншісі ашық.
Екінші мағына — Stack Overflow сұрақтарын тудыратын мағына, және оның қолдау көрсетілген жауабы жоқ. Параметрлердегі ажыратқыш пайдаланушыға, ал басқарылатын құрылғыларда профильге тиесілі. Ешбір жария API VPN конфигурацияларын тізімдемейді, жүйелік туннельдің қосылғанын хабарламайды және оны ауыстырмайды.
Қолданба шынымен не жасай алады
NetworkExtension қолданбаға NEVPNManager арқылы өз конфигурациясын береді. Personal VPN құқығымен және пайдаланушының келісімімен қолданба Параметрлерде өз атымен көрінетін конфигурацияны сақтайды, және сол бір қосылымды іске қоса немесе тоқтата алады. Бұл нақты, тексерілетін мүмкіндік, және сонымен бірге бүкіл ауқым: менеджер тек өзі жасағанын оқиды және жазады.
Құқық автоматты емес. Сіз оны Apple-дан сұрайсыз және қолданбаға туннельдің не үшін қажет екенін негіздейсіз, ал жалғыз мақсаты біреудің профилін қосу болып табылатын клиенттің жақсы жауабы жоқ. Пакеттік туннель провайдерлері сол ережені басқа класс арқылы ұстанады: NETunnelProviderManager қолданбаның өзі орнатқан провайдерге негізделген конфигурацияларға ие. Екі жолдың ешқайсысы MDM жеткізген профильге жетпейді.
Келісім сақтау сәтінде де қолданылады. Конфигурация жазу пайдаланушыдан сұрайды, және бұл сұрау қолданба ыңғайлылық үшін баса алмайтын нәрсе.
Күйді оқу да сол қабырғаға соғылады
Мәртебе бақылаудан гөрі достық көрінеді және сол дәрежеде жабық. NEVPNStatus қолданбаның өз конфигурациясы үшін жарамсыз, ажыратылған, қосылу, қосылған, қайта растау немесе ажырату күйлерін хабарлайды, және әр өзгерісте хабарлама шығады. Ол басқару профилі орнатқан туннель туралы ештеңе айтпайды, ал қолдау қызметі көргісі келетін күй дәл сол.
Желілік жолды бақылау мен интерфейс өзгерістері дизайн шолуларында балама ретінде ұсынылады. Олар қолданба трафигі жүретін жолды сипаттайды, және бұл жол VPN күйіне қатыссыз себептермен өзгереді, ал оларды VPN көрсеткіші ретінде пайдалану екі бағытта да өтірік айтатын интерфейс береді.
On Demand пен Always On — нақты тұтқалар
Қолдау көрсетілген тұтқалар қолданбада емес, профильде тұрады. On Demand ережелері жүйеге қашан қосылуды айтады: әрекеттері бар шарттардың реттелген тізімі, оны сіздің кодыңыз емес, операциялық жүйе бағалайды. Кез келген интерфейсте қосылатын ереже ешбір қолданбаға бақылау бермей-ақ үнемі қосылған сезімін жасайды.
Always On VPN — орындату механизмі, және ол қадағалауға байланған. Қадағаланатын құрылғыда MDM туннельді ұстап тұратын профильді орнатады; қадағаусыз жеке телефонда сол кілттер сол мінез-құлықты бермейді. Бұл асимметрия әдейі, және пайдалы жүктеме кілттерінің ешбір тіркесімі оны жоймайды. Талап шынымен VPN қосулы болуы керек болса, талап іс жүзінде құрылғыны басқару керек екенін білдіреді.
Екеуінің арасында әлсізірек немере аға тұр: пайдаланушы ажыратқаннан кейін қайта қосылатын ереже. Ереже келесі рет бағаланғанда қосылады, бұл бірден дегенмен бірдей емес, және әдейі ажыратқан пайдаланушы айырмашылықты байқайды. Құлып уәде етудің орнына интерфейсті сол олқылықтың айналасында жобалаңыз.
Қолдау көрсетілген жолды жеткізіңіз
Кез келген код пайда болмас бұрын төрт сұрақ механизмді шешеді: құрылғы кімдікі, ол қадағалауда ма, қай клиент туннельді аяқтайды және профиль қайдан келеді. Егер осылардың бірі белгісіз болса, функция өтініші бағалауға дайын емес.
Жүйелік VPN-ға тиісетін жеке API демодан өтеді және тексеруден құлайды, ал басқа жолмен жеткізілсе, келесі iOS шығарылымында сынады. Бір ажыратқыш үшін бұл айырбастың бағалы нұсқасы жоқ.
Басқару телеметриясы — бөлек арна: ол профильдің орнатылғанын және құрылғының сәйкестігін хабарлайды, бұл есептілік, әр қолданбаға бақылау беті емес. Әр жаңартудан кейін ағынды нақты құрылғыда сынап көріңіз, өйткені қолдау көрсетілген мінез-құлық ОЖ-да өмір сүреді, ал ОЖ қозғалады.