એક પ્રોડક્ટ મેનેજર કંપનીનું VPN ચાલુ કરતું બટન માગે છે, અને વિનંતી તુચ્છ લાગે છે. iOS પર આ નાની સુવિધા નથી; તે જાહેર કરારની બહાર છે, અને દરેક માર્ગ બચાવ ક્યાં તો સમીક્ષામાં નિષ્ફળ જાય છે ક્યાં તો આગલી આવૃત્તિમાં તૂટી પડે છે. વિનંતીને પ્લેટફોર્મ ખરેખર શું મંજૂરી આપે છે તેમાંથી પસાર કરો, અને ડિઝાઇન મોટે ભાગે જાતે લખાઈ જાય છે. એપ VPN રૂપરેખાંકન ધરાવી શકે છે અને તેને શરૂ કરી શકે છે. એપ સિસ્ટમ સ્વિચ સુધી પહોંચી શકતી નથી, જે પ્રોફાઇલ તેણે બનાવ્યું નથી તેની સ્થિતિ વાંચી શકતી નથી, અને વપરાશકર્તાને તેની ઇચ્છા વિરુદ્ધ જોડાયેલો રાખી શકતી નથી.

વપરાશકર્તા જે ત્રણ વસ્તુઓ કહેવા માંગે છે તેનાથી શરૂ કરો

API અલગ કરતાં પહેલાં અર્થો અલગ કરો. ક્યારેક વપરાશકર્તા તમારી એપનું ટનલ જોડાયેલું જોવા માંગે છે, ક્યારેક બીજાએ ઇન્સ્ટોલ કરેલા પ્રોફાઇલ માટે સેટિંગ્સનો સ્વિચ ચાલુ કરવા માંગે છે, અને ક્યારેક ટનલ વિના ફોનમાં બ્રાઉઝ ન થાય તેમ માંગે છે. આ ત્રણ અલગ મિકેનિઝમને મળે છે, અને ફક્ત પહેલું જ સામાન્ય એપ માટે ખુલ્લું છે.

બીજો અર્થ એ છે જે Stack Overflow ના પ્રશ્નો પેદા કરે છે, અને તેનો કોઈ સમર્થિત જવાબ નથી. સેટિંગ્સનો સ્વિચ વપરાશકર્તાનો છે અને મેનેજ કરેલા ઉપકરણો પર પ્રોફાઇલનો. કોઈ જાહેર API VPN રૂપરેખાંકનોની યાદી આપતું નથી, સિસ્ટમ ટનલ ચાલુ છે કે નહીં તે જણાવતું નથી, કે તેને ટૉગલ કરતું નથી.

એપ ખરેખર શું બનાવી શકે છે

NetworkExtension એપને NEVPNManager દ્વારા પોતાનું રૂપરેખાંકન આપે છે. Personal VPN હક અને વપરાશકર્તાની સંમતિ સાથે એપ એવું રૂપરેખાંકન સાચવે છે જે સેટિંગ્સમાં તેના પોતાના નામ હેઠળ દેખાય છે, અને તે એક જ કનેક્શન શરૂ કે બંધ કરી શકે છે. આ એક વાસ્તવિક, સમીક્ષાયોગ્ય ક્ષમતા છે, અને તે આખો વ્યાપ પણ છે: મેનેજર ફક્ત તે જ વાંચે અને લખે છે જે તેણે બનાવ્યું છે.

હક આપોઆપ મળતો નથી. તમે તે Apple પાસે માગો છો અને એપને ટનલની જરૂર કેમ છે તે ન્યાયી ઠેરવો છો, અને જેનો એકમાત્ર ધ્યેય બીજાનું પ્રોફાઇલ ચાલુ કરવાનો છે તેવા ક્લાયન્ટ પાસે સારો જવાબ નથી. પેકેટ ટનલ પ્રદાતાઓ અલગ ક્લાસ સાથે એ જ નિયમ અનુસરે છે: NETunnelProviderManager એપે પોતે ઇન્સ્ટોલ કરેલા પ્રદાતા-આધારિત રૂપરેખાંકનો ધરાવે છે. બંનેમાંથી કોઈ માર્ગ MDM દ્વારા પહોંચાડાયેલા પ્રોફાઇલ સુધી પહોંચતો નથી.

સંમતિ સાચવવાના સમયે પણ લાગુ પડે છે. રૂપરેખાંકન લખવું વપરાશકર્તાને પૂછે છે, અને આ પ્રશ્ન એવી વસ્તુ નથી જે એપ સુવિધા માટે દબાવી શકે.

સ્થિતિ વાંચવી એ જ દીવાલે અથડાય છે

સ્થિતિ નિયંત્રણ કરતાં વધુ મૈત્રીપૂર્ણ લાગે છે અને એટલી જ બંધ છે. NEVPNStatus એપના પોતાના રૂપરેખાંકન માટે અમાન્ય, ડિસ્કનેક્ટેડ, કનેક્ટ થઈ રહ્યું છે, કનેક્ટેડ, ફરી પુષ્ટિ કરી રહ્યું છે અથવા ડિસ્કનેક્ટ થઈ રહ્યું છે તે જણાવે છે, અને દરેક ફેરફારે સૂચના વાગે છે. મેનેજમેન્ટ પ્રોફાઇલે ઇન્સ્ટોલ કરેલા ટનલ વિશે તે કંઈ કહેતું નથી, અને હેલ્પ ડેસ્ક ખરેખર એ જ સ્થિતિ જોવા માંગે છે.

નેટવર્ક પાથ મોનિટરિંગ અને ઇન્ટરફેસ ફેરફારો ડિઝાઇન સમીક્ષામાં વિકલ્પ તરીકે રજૂ થાય છે. તે એપનો ટ્રાફિક જે માર્ગે જાય છે તે વર્ણવે છે, જે VPN સ્થિતિ સાથે સંબંધ ન ધરાવતા કારણોસર બદલાય છે, અને તેમને VPN રીડઆઉટ તરીકે વાપરવાથી એવું UI મળે છે જે બંને દિશામાં ખોટું બોલે છે.

On Demand અને Always On એ ખરા લિવર છે

સમર્થિત લિવર એપમાં નહીં, પ્રોફાઇલમાં રહે છે. On Demand નિયમો સિસ્ટમને કહે છે કે ક્યારે કનેક્ટ થવું: ક્રિયાઓ સાથેની શરતોની ક્રમબદ્ધ યાદી, જે તમારા કોડ દ્વારા નહીં, ઓપરેટિંગ સિસ્ટમ દ્વારા મૂલ્યાંકિત થાય છે. કોઈપણ ઇન્ટરફેસ પર કનેક્ટ થતો નિયમ એપને કોઈ નિયંત્રણ આપ્યા વિના હંમેશા-જોડાયેલી લાગણી ઊભી કરે છે.

Always On VPN એ અમલ કરાવવાની પદ્ધતિ છે, અને તે દેખરેખ સાથે બંધાયેલી છે. દેખરેખ હેઠળના ઉપકરણ પર MDM ટનલ ચાલુ રાખતું પ્રોફાઇલ ઇન્સ્ટોલ કરે છે; દેખરેખ વિનાના વ્યક્તિગત ફોન પર એ જ કી સમાન વર્તન આપતી નથી. આ અસમાનતા જાણી જોઈને છે, અને પેલોડ કીના કોઈપણ સંયોજનથી તે દૂર થતી નથી. જ્યારે આવશ્યકતા ખરેખર એ હોય કે VPN ચાલુ જ હોવું જોઈએ, ત્યારે આવશ્યકતા વાસ્તવમાં એ છે કે ઉપકરણ મેનેજ થવું જોઈએ.

બંનેની વચ્ચે નબળો ભાઈબંધ બેસે છે: વપરાશકર્તા ડિસ્કનેક્ટ થયા પછી ફરી જોડાતો નિયમ. જ્યારે નિયમનું આગલી વખતે મૂલ્યાંકન થાય ત્યારે તે જોડાય છે, જે તરત જ થવા જેવું નથી, અને જાણી જોઈને ડિસ્કનેક્ટ થયેલો વપરાશકર્તા ફરક જોશે. તાળું આપવાનું વચન આપવાને બદલે તે ખાલી જગ્યાની આસપાસ ઇન્ટરફેસ ડિઝાઇન કરો.

સમર્થિત માર્ગ મોકલો

કોઈ કોડ હોવા પહેલાં ચાર પ્રશ્નો મિકેનિઝમ નક્કી કરે છે: ઉપકરણ કોનું છે, તે દેખરેખ હેઠળ છે કે નહીં, કયો ક્લાયન્ટ ટનલ સમાપ્ત કરે છે, અને પ્રોફાઇલ ક્યાંથી આવે છે. જો તેમાંથી કંઈપણ અજાણ્યું હોય, તો સુવિધા વિનંતી અંદાજ માટે તૈયાર નથી.

સિસ્ટમ VPN માં ખૂંચતું ખાનગી API ડેમો પાસ કરશે અને સમીક્ષામાં નિષ્ફળ જશે, અને જો બીજા માર્ગે મોકલાય તો આગલી iOS આવૃત્તિમાં તૂટી પડશે. એક સ્વિચ માટે આ વેપારની કોઈ આવૃત્તિ યોગ્ય નથી.

મેનેજમેન્ટ ટેલિમેટ્રી અલગ ચેનલ છે: તે જણાવે છે કે પ્રોફાઇલ ઇન્સ્ટોલ થયું છે અને ઉપકરણ અનુરૂપ છે કે નહીં, જે રિપોર્ટિંગ છે, પ્રતિ-એપ નિયંત્રણ સપાટી નથી. દરેક અપડેટ પછી વાસ્તવિક ઉપકરણ પર પ્રવાહની કસોટી કરો, કારણ કે સમર્થિત વર્તન OS માં રહે છે અને OS આગળ વધે છે.

સંબંધિત લેખો