Продукт менеджери компаниянын 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 чыгарылышында бузулат. Бир которгуч үчүн бул алмашуунун баалуу версиясы жок.

Башкаруу телеметриясы өзүнчө канал: ал профилдин орнотулганын жана түзмөктүн шайкештигин билдирет, бул отчеттуулук, ар бир колдонмого көзөмөл бети эмес. Ар бир жаңыртуудан кийин агымды чыныгы түзмөктө сынап көрүңүз, анткени колдоого алынган жүрүм-турум ОСто жашайт, ал эми ОС кыймылдайт.

Тектеш макалалар