પ્રાથમિકતાઓ લોડ ન થાય ત્યાં સુધી NEVPNManager સ્થિતિ અમાન્ય છે
loadFromPreferences પૂર્ણ થાય તે પહેલાં સ્થિતિ વાંચવી કે સાચવવી જૂનાં કે નિષ્ફળ પરિણામ આપે છે. લોડ ક્રમ, કીરિંગ સંદર્ભો અને ઍક્સેસ જૂથો તે નક્કી કરે છે.
એપ ફરી શરૂ કરો, મેનેજરને કનેક્શન સ્થિતિ પૂછો, અને તે કહે છે કે જોડાણ કપાયેલું છે જ્યારે સિસ્ટમ મેનૂ સ્પષ્ટપણે કાર્યરત ટનલ બતાવે છે. અથવા સાચવવાનો કૉલ એવી ભૂલ પાછી આપે છે જે કંઈ સમજાવતી નથી, અથવા સહિયારું રહસ્ય સોંપાયાની સેકન્ડોમાં જ ગુમ થયેલું જાહેર થાય છે. ત્રણ લક્ષણો, એક જ ક્રિયાવિધિ: મેનેજર સિસ્ટમ સ્ટોર પરનું દૃશ્ય છે, અને દૃશ્ય ત્યાં સુધી ખાલી વંચાય છે જ્યાં સુધી કોઈ તેને લોડ ન કરે.
આમાંથી કંઈપણ ડિબગ કરતા પહેલાં નક્કી કરો કે તમારે કઈ API વાપરવી છે. સિસ્ટમની IPsec કે IKEv2 ટનલ બિલ્ટ-ઇન મેનેજરને અનુકૂળ છે; સિસ્ટમ જે પ્રોટોકોલ લાગુ કરતી નથી તેને તમારા પોતાના પેકેટ હેન્ડલિંગ સાથે ટનલ પ્રદાતા જોઈએ, અને ક્ષેત્રોનું કોઈ સંયોજન તેને બદલતું નથી.
મેનેજર સ્ટોર પરનું દૃશ્ય છે
મેનેજર બનાવો કે મેળવો, તેને તેની પ્રાથમિકતાઓ લોડ કરવા કહો, અને સ્થિતિ વાંચતા કે પ્રોટોકોલ સેટિંગ્સ બદલતા પહેલાં પૂર્ણતા હેન્ડલરને પૂરું થવા દો. જ્યારે કાર્ય સાચવેલી રૂપરેખાઓની ગણતરી કરવાનું હોય ત્યારે બધા પ્રકારોનો કૉલ વાપરો, એક જ ઇન્સ્ટન્સ બે હેતુઓ માટે ફરી વાપરવાને બદલે. લોડ આવે તે પહેલાં સ્થિતિ સામાન્ય રીતે અમાન્ય હોય છે, અને અમાન્યને બંધ તરીકે ગણવો એ જ એ બગ છે જે એપને ફરી શરૂ કર્યા પછી જ ખોટી દેખાડે છે.
લેખન પણ એ જ ક્રમ અનુસરે છે. જે મેનેજરે ક્યારેય કંઈ લોડ કર્યું નથી તેના પર સાચવવાનો પ્રયાસ ઉપયોગી સંદેશ વિના નિષ્ફળ જઈ શકે, કારણ કે ફેરફાર લાગુ કરવા માટે કોઈ સંગ્રહિત ઓળખ નથી. લોડ કરો, બદલો, સાચવો, પછી સ્થિતિ ફરી વાંચો. સિસ્ટમ જે ઑબ્જેક્ટ સાથે જોડાય છે તે સાચવેલી પ્રોફાઇલ છે, તમે મેમરીમાં જે સંપાદિત કરી રહ્યા હતા તે નહીં.
સ્થિતિના ફેરફારો ફક્ત ત્યારે આવે છે જ્યારે તમે જુઓ છો
પ્રાથમિકતાઓ લોડ થયા પછી સ્થિતિ ડિસ્કનેક્ટેડ, જોડાઈ રહ્યું, જોડાયેલું, ફરી પુષ્ટિ અને ડિસ્કનેક્ટ થઈ રહ્યું થઈને પસાર થાય છે. ઇન્ટરફેસને એક વાંચનથી શરૂ કરો, પછી ટાઇમર પર પોલિંગ કરવાને બદલે ફેરફાર સૂચના સાંભળો. પોલિંગ ફોરગ્રાઉન્ડમાં કામ કરે છે અને બૅકગ્રાઉન્ડમાં ખોટું બોલે છે, અને એ રીતે એપ્સમાં એવો સ્પિનર રહી જાય છે જે ક્યારેય ઉકેલાતો નથી.
સૂચનાઓ ફક્ત ત્યારે જ આવે છે જ્યારે એપ ફોરગ્રાઉન્ડમાં હોય. બૅકગ્રાઉન્ડમાં સ્થિતિ જાળવે છે તે દરેક વસ્તુ ફરી શરૂ કર્યા પછી જૂની દેખાશે, તેથી શરૂઆત વખતે અને એપ ફરી ફોરગ્રાઉન્ડમાં આવે ત્યારે તાજું કરો. જો કોઈ પ્રદાતા ટનલનો માલિક હોય, તો તેને અનુરૂપ સેશન ઑબ્જેક્ટ દ્વારા ચલાવો; સાદો કનેક્શન ગુણધર્મ પ્રદાતાનું જીવનચક્ર મોડેલ કરતું નથી.
રહસ્યો સંદર્ભ છે, શબ્દમાળાઓ નહીં
સહિયારું રહસ્ય ગુમ હોવાનું જણાવવું ભાગ્યે જ એનો અર્થ ધરે છે કે કોઈએ તે સોંપ્યું નથી. પ્રોટોકોલ ઑબ્જેક્ટ સંદર્ભ માંગે છે: એક વપરાશકર્તા પાસવર્ડ માટે અને એક IPsec પૂર્વ-સહિયારી કી માટે. nil પસાર કરવું, અથવા ખોટી કીરિંગ એન્ટ્રીમાંથી મેળવેલો સંદર્ભ પસાર કરવો, ખાલી જગ્યા જેવી જ ફરિયાદ આપે છે. ભૂલ લક્ષણને નામ આપે છે અને કારણ છુપાવે છે, તેથી લોકો એ જ રહસ્ય ઘણી વાર ફરી દાખલ કરે છે.
પહેલાં રહસ્યને સામાન્ય પાસવર્ડ આઇટમ તરીકે લખો, પછી તેના તરફ કાયમી સંદર્ભ પાછો વાંચો. કાયમી સંદર્ભ મેમરીમાં રાખેલા પોઇન્ટરથી વિપરીત, ફરી શરૂ કર્યા પછી પણ ટકે છે, અને તે જ પ્રોફાઇલ સીરિયલાઇઝ કરે છે. એવો ઍક્સેસિબિલિટી વર્ગ પસંદ કરો જે ઉપકરણ અનલૉક થયા પછી પણ ઍક્સેસ આપે, નહીં તો લૉક સ્ક્રીન પર ફરી જોડાવાની જરૂર હોય તેવી ટનલ સંપૂર્ણ માન્ય રહસ્ય સાથે પણ પ્રમાણીકરણમાં નિષ્ફળ જશે.
એક્સ્ટેન્શનનું પોતાનું કીરિંગ દૃશ્ય છે
નેટવર્ક એક્સ્ટેન્શન અલગ પ્રક્રિયા છે, તેથી એપનું ડિફૉલ્ટ કીરિંગ ઍક્સેસ ત્યાં પહોંચતું નથી. બંને લક્ષ્યોને તેમના હકોમાં એ જ કીરિંગ ઍક્સેસ જૂથ આપો, આઇટમને એક વાર તે જૂથની અંદર સંગ્રહો, અને દરેક પ્રક્રિયાને તે વાંચવા દો. જૂથ વિના એક્સ્ટેન્શનને કંઈ મળતું નથી અને એવી ઓળખપત્ર નિષ્ફળતા જણાવે છે જે એપ પુનઃઉત્પાદિત કરી શકતી નથી.
જો પ્રદાતા તેના પ્રદાતા રૂપરેખાંકન ઑબ્જેક્ટ દ્વારા રૂપરેખાંકિત થતો હોય, તો રહસ્ય એપની અંદર પણ ન રાખો. બે નકલો અલગ પડે છે, અને એ અંતર ડુપ્લિકેશનને બદલે ખરાબ ઓળખપત્રો તરીકે દેખાય છે. બીજી સ્થિતિ જણાવતું વિજેટ કે બીજી પ્રક્રિયા પાસે પણ એ જ સમજૂતી છે: દરેકને જૂથની જરૂર છે, અને દરેકે વાંચતા પહેલાં પ્રાથમિકતાઓ લોડ કરવી પડે.
APIને પ્રોટોકોલ સાથે મેળવો
બિલ્ટ-ઇન મેનેજર IPsec અને IKEv2 પ્રોટોકોલ ઑબ્જેક્ટ ધરાવે છે. વધારાના ક્ષેત્રો દ્વારા તે સામાન્ય SSL VPN ક્લાયન્ટ બનતું નથી, અને અસંગત પ્રોફાઇલ સ્વચ્છ રીતે સંગ્રહાઈને પણ ક્યારેય જોડાઈ શકતી નથી. સ્થિતિ તપાસતા પહેલાં નક્કી કરો કે તમે કઈ શ્રેણીમાં છો, કારણ કે સ્થિતિનો બગ અને અસમર્થિત પ્રોટોકોલ બહારથી એકસરખા દેખાય છે.
આગલી વાર ફરી શરૂ કરતી વખતે ચેકલિસ્ટ ટૂંકી છે: પ્રાથમિકતાઓ લોડ કરો, સ્થિતિ વાંચો, ફેરફાર સબ્સ્ક્રિપ્શન ફોરગ્રાઉન્ડમાં રાખો, સહિયારા જૂથમાંથી સંદર્ભ ફરી બનાવો, અને ખાતરી કરો કે પ્રોટોકોલ ઑબ્જેક્ટ તમે લાગુ કરેલી API સાથે મેળ ખાય છે. એ યાદી ચલાવવામાં એક મિનિટ લાગે છે; તેના વિશે અનુમાન કરવામાં આખી બપોર.