మీ 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 పఠనంగా ఉపయోగించడం రెండు దిశల్లోనూ అబద్ధం చెప్పే UIని ఇస్తుంది.
On Demand మరియు Always On నిజమైన లివర్లు
మద్దతు ఉన్న లివర్లు యాప్లో కాదు, ప్రొఫైల్లో నివసిస్తాయి. On Demand నియమాలు సిస్టమ్కు ఎప్పుడు కనెక్ట్ కావాలో చెబుతాయి: చర్యలతో కూడిన షరతుల క్రమబద్ధ జాబితా, మీ కోడ్ కాదు, ఆపరేటింగ్ సిస్టమ్ దాన్ని మూల్యాంకనం చేస్తుంది. ఏ ఇంటర్ఫేస్లోనైనా కనెక్ట్ అయ్యే నియమం ఏ యాప్కూ నియంత్రణ ఇవ్వకుండా ఎల్లప్పుడూ-కనెక్ట్ అనే భావనను సృష్టిస్తుంది.
Always On VPN అమలు యంత్రాంగం, మరియు అది పర్యవేక్షణకు కట్టుబడి ఉంది. పర్యవేక్షణలో ఉన్న పరికరంలో MDM సొరంగాన్ని ఆన్లో ఉంచే ప్రొఫైల్ను ఇన్స్టాల్ చేస్తుంది; పర్యవేక్షణ లేని వ్యక్తిగత ఫోన్లో అదే కీలు అదే ప్రవర్తనను ఇవ్వవు. ఆ అసమానత ఉద్దేశపూర్వకం, పేలోడ్ కీల ఏ కలయికా దాన్ని తీసివేయదు. VPN తప్పనిసరిగా ఆన్లో ఉండాలనేదే నిజమైన అవసరమైతే, అవసరం నిజానికి పరికరం నిర్వహించబడాలనేది.
రెండింటి మధ్య బలహీనమైన బంధువు కూర్చుంటాడు: వినియోగదారు డిస్కనెక్ట్ చేసిన తర్వాత మళ్లీ కనెక్ట్ అయ్యే నియమం. నియమం తదుపరిసారి మూల్యాంకనం అయినప్పుడు మళ్లీ కనెక్ట్ అవుతుంది, అది తక్షణమే అనేదానికి సమానం కాదు, ఉద్దేశపూర్వకంగా డిస్కనెక్ట్ చేసిన వినియోగదారు తేడాను గమనిస్తాడు. తాళం వేస్తామని వాగ్దానం చేయడం బదులు ఆ ఖాళీ చుట్టూ ఇంటర్ఫేస్ను డిజైన్ చేయండి.
మద్దతు ఉన్న మార్గాన్ని పంపండి
ఏ కోడ్ ఉనికిలోకి రాకముందే నాలుగు ప్రశ్నలు యంత్రాంగాన్ని నిర్ణయిస్తాయి: పరికరం ఎవరిది, అది పర్యవేక్షణలో ఉందా, ఏ క్లయింట్ సొరంగాన్ని ముగిస్తుంది, ప్రొఫైల్ ఎక్కడి నుండి వస్తుంది. వీటిలో ఏదైనా తెలియకపోతే, ఫీచర్ అభ్యర్థన అంచనాకు సిద్ధంగా లేదు.
సిస్టమ్ VPNని తాకే ప్రైవేట్ API డెమోను దాటుతుంది మరియు సమీక్షలో విఫలమవుతుంది, వేరే మార్గంలో పంపితే తదుపరి iOS విడుదలలో విరిగిపోతుంది. ఒక స్విచ్ కోసం ఆ మార్పిడి ఏ సంస్కరణా విలువైనది కాదు.
నిర్వహణ టెలిమెట్రీ వేరే ఛానెల్: ప్రొఫైల్ ఇన్స్టాల్ అయిందా, పరికరం అనుగుణంగా ఉందా అని నివేదిస్తుంది, అది నివేదన, ప్రతి యాప్కు నియంత్రణ ఉపరితలం కాదు. ప్రతి అప్డేట్ తర్వాత నిజమైన పరికరంలో ప్రవాహాన్ని పరీక్షించండి, ఎందుకంటే మద్దతు ఉన్న ప్రవర్తన OSలో నివసిస్తుంది, OS కదులుతుంది.