ਤੁਸੀਂ ਇੱਕ ਪ੍ਰੋਫ਼ਾਈਲ ਇੰਸਟਾਲ ਕਰਦੇ ਹੋ, ਟਨਲ ਉੱਪਰ ਆਉਂਦੀ ਹੈ, ਅਤੇ ਸਭ ਕੁਝ ਪੂਰਾ ਲੱਗਦਾ ਹੈ। ਫਿਰ ਫ਼ੋਨ ਰੀਬੂਟ ਹੁੰਦਾ ਹੈ, on-demand ਅੱਗੇ ਕੋਈ ਐਪ ਨਾ ਹੁੰਦਿਆਂ ਕਨੈਕਸ਼ਨ ਜਗਾਉਂਦਾ ਹੈ, ਅਤੇ ਟਨਲ ਸ਼ੁਰੂ ਹੋਣ ਤੋਂ ਇਨਕਾਰ ਕਰਦੀ ਹੈ। ਪ੍ਰੋਫ਼ਾਈਲ ਅਜੇ ਵੀ ਉੱਥੇ ਹੈ ਅਤੇ ਪਾਸਵਰਡ ਅਜੇ ਵੀ ਸਹੀ ਹੈ, ਇਸੇ ਲਈ ਇਹ ਅਸਫਲਤਾ ਲੋਕਾਂ ਨੂੰ ਗਲਤ ਥਾਂ ਲੱਭਣ ਭੇਜਦੀ ਹੈ। Network Extension ਤੁਹਾਡਾ ਭੇਤ ਪ੍ਰੋਫ਼ਾਈਲ ਤੋਂ ਨਹੀਂ ਪੜ੍ਹ ਸਕਦਾ: ਉਸਨੂੰ ਕੀਚੇਨ ਦਾ ਅਜਿਹਾ ਹਵਾਲਾ ਚਾਹੀਦਾ ਹੈ ਜੋ ਉਹ ਖ਼ੁਦ ਹੱਲ ਕਰ ਸਕੇ।

ਹੇਠਾਂ ਦਿੱਤੀ ਗਾਈਡ ਉਸ ਹਵਾਲੇ ਨੂੰ ਬਣਾਉਣ ਵਾਲੀ ਕੁਏਰੀ ਤੋਂ ਲੈ ਕੇ ਉਸਨੂੰ ਪਰਖਣ ਵਾਲੇ ਰੀਬੂਟ ਤੱਕ, ਇਸ ਹਸਤਾਂਤਰਣ ਰਾਹੀਂ ਇੱਕ ਕਨੈਕਸ਼ਨ ਕੋਸ਼ਿਸ਼ ਦਾ ਪਿੱਛਾ ਕਰਦੀ ਹੈ।

ਪ੍ਰੋਫ਼ਾਈਲ ਹੈਂਡਲ ਰੱਖਦੀ ਹੈ, ਭੇਤ ਨਹੀਂ

NEVPNProtocol ਕਿਸੇ ਕਾਰਨ ਕਰਕੇ passwordReference ਅਤੇ sharedSecretReference ਨੂੰ ਜ਼ਾਹਰ ਕਰਦਾ ਹੈ। ਜਦੋਂ ਡੈਮਨ ਟਨਲ ਸ਼ੁਰੂ ਕਰਦਾ ਹੈ ਤਾਂ ਉਹ ਤੁਹਾਡੀ ਪ੍ਰਕਿਰਿਆ ਅੰਦਰ ਨਹੀਂ ਚੱਲ ਰਿਹਾ ਹੋ ਸਕਦਾ, ਇਸ ਲਈ ਉਹ ਤੁਹਾਡਾ ਕੋਡ ਬੁਲਾ ਕੇ ਪਾਸਵਰਡ ਨਹੀਂ ਮੰਗ ਸਕਦਾ। ਉਹ ਕੀਚੇਨ ਦਾ ਪੱਕਾ ਹਵਾਲਾ ਪੜ੍ਹਦਾ ਹੈ, ਉਸਨੂੰ ਆਪਣੇ ਸੰਦਰਭ ਵਿੱਚ ਹੱਲ ਕਰਦਾ ਹੈ, ਅਤੇ ਆਈਟਮ ਆਪ ਲਿਆਉਂਦਾ ਹੈ।

ਤੁਸੀਂ ਉਹ ਹਵਾਲਾ ਕੀਚੇਨ ਨੂੰ ਪੁੱਛ ਕੇ ਬਣਾਉਂਦੇ ਹੋ, ਜੋ ਡੇਟਾ ਮੰਗਣ ਤੋਂ ਵੱਖਰੀ ਬੇਨਤੀ ਹੈ:

let query: [String: Any] = [
  kSecClass as String: kSecClassGenericPassword,
  kSecAttrService as String: "vpn-credentials",
  kSecAttrAccount as String: "user",
  kSecReturnPersistentRef as String: true,
  kSecMatchLimit as String: kSecMatchLimitOne
]

ਵਾਪਸ ਮਿਲੀ ਵਸਤੂ ਪ੍ਰੋਟੋਕੋਲ ਨੂੰ ਦਿਓ, ਆਈਟਮ ਦਾ ਡੇਟਾ ਨਹੀਂ। ਅਮਲ ਵਿੱਚ ਪ੍ਰੋਫ਼ਾਈਲ ਦਰਜ ਕਰਦੀ ਹੈ ਕਿ ਭੇਤ ਕਿੱਥੇ ਰਹਿੰਦਾ ਹੈ, ਇਸੇ ਲਈ ਕਨਫ਼ਿਗਰੇਸ਼ਨ ਦਾ ਬੈਕਅਪ ਪਾਸਵਰਡ ਨੂੰ ਚੁੱਪਚਾਪ plist ਵਿੱਚ ਨਕਲ ਨਹੀਂ ਕਰਦਾ।

API -50 ਕਿਉਂ ਜਵਾਬ ਦਿੰਦਾ ਹੈ

errSecParam ਦਾ ਮਤਲਬ ਹੈ ਕਿ ਬੇਨਤੀ ਜਾਂ ਮੁੱਲ ਉਸ ਕਾਰਵਾਈ ਲਈ ਵਿਗੜਿਆ ਹੋਇਆ ਸੀ, ਅਤੇ ਹਵਾਲੇ ਤੇ ਡੇਟਾ ਦੀਆਂ ਬੇਨਤੀਆਂ ਰਲਗੱਡ ਹੋਣ ’ਤੇ ਇਹੀ ਗਲਤੀ ਸਭ ਤੋਂ ਵੱਧ ਦਿਖਦੀ ਹੈ। ਜਦੋਂ ਪ੍ਰਾਪਤ ਕਰਨ ਵਾਲਾ ਕੋਡ ਹਵਾਲੇ ਦੀ ਉਡੀਕ ਕਰ ਰਿਹਾ ਹੋਵੇ ਤਦ ਡੇਟਾ ਮੰਗਣਾ, passwordReference ਵਿੱਚ ਕੱਚੇ ਬਾਈਟ ਰੱਖਣਾ, ਜਾਂ ਐਪ ਵਰਤ ਨਾ ਸਕਣ ਵਾਲੇ ਐਕਸੈਸ ਗਰੁੱਪ ਨਾਲ ਕੁਏਰੀ ਕਰਨਾ, ਇਹ ਸਭ ਇਸਨੂੰ ਪੈਦਾ ਕਰਦੇ ਹਨ।

ਰੈਪਰ ਲਾਇਬ੍ਰੇਰੀਆਂ ਇਸ ਲਈ ਸੱਦਾ ਦਿੰਦੀਆਂ ਹਨ। ਬਾਈਟ ਵਾਪਸ ਕਰਨ ਵਾਲਾ ਸਹਾਇਕ ਹਵਾਲਾ ਵਾਪਸ ਕਰਨ ਵਾਲੇ ਨਾਲ ਬਦਲਿਆ ਨਹੀਂ ਜਾ ਸਕਦਾ, ਇਸ ਲਈ ਸੁਧਾਰ ਆਮ ਤੌਰ ’ਤੇ ਦੂਜਾ ਪਾਸਵਰਡ ਨਹੀਂ, ਦੂਜੀ ਕੁਏਰੀ ਹੁੰਦੀ ਹੈ।

ਇਹੀ ਅਸੰਗਤੀ ਉਸ ਪ੍ਰੋਫ਼ਾਈਲ ਦੀ ਵਿਆਖਿਆ ਕਰਦੀ ਹੈ ਜੋ ਬਿਨਾਂ ਸ਼ਿਕਾਇਤ ਸੰਭਾਲੀ ਜਾਂਦੀ ਹੈ ਅਤੇ ਫਿਰ ਕਨੈਕਟ ਨਹੀਂ ਹੁੰਦੀ: ਸੰਭਾਲਿਆ ਬਲੌਬ ਹੈ, ਹੈਂਡਲ ਨਹੀਂ, ਅਤੇ ਡੈਮਨ ਕੋਲ ਹੱਲ ਕਰਨ ਲਈ ਕੁਝ ਨਹੀਂ।

ਚੰਗੀ ਤਰ੍ਹਾਂ ਸੰਭਾਲਦੀ ਹੈ, ਕਨੈਕਟ ਹੁੰਦਿਆਂ ਅਸਫਲ

ਸੰਭਾਲਣਾ ਤੁਹਾਡੀ ਐਪ ਦਾ ਸੰਦਰਭ ਵਰਤਦਾ ਹੈ। ਕਨੈਕਟ ਹੋਣਾ ਡੈਮਨ ਦਾ, ਅਤੇ ਦੋਹਾਂ ਦੀ ਪਹੁੰਚ ਇਕੋ ਨਹੀਂ। ਇਸ ਲਈ ਪ੍ਰੋਫ਼ਾਈਲ ਸਿਮਿਊਲੇਟਰ ਵਿੱਚ ਕੀਤੇ ਹਰ ਟੈਸਟ ਨੂੰ ਪਾਸ ਕਰਕੇ ਪਹਿਲੀ on-demand ਸ਼ੁਰੂਆਤ ’ਤੇ ਅਸਫਲ ਹੋ ਸਕਦੀ ਹੈ।

ਰੀਬੂਟ ਦੇ ਲੱਛਣ ਦੀ ਸ਼ਕਲ ਵੀ ਇਹੀ ਹੈ: ਐਪ ਖੁੱਲ੍ਹੀ ਹੋਣ ਤੱਕ ਕੰਮ ਕਰਦੀ ਹੈ ਅਤੇ ਸਿਸਟਮ ਆਪ ਟਨਲ ਸ਼ੁਰੂ ਕਰਦਿਆਂ ਮਰ ਜਾਂਦੀ ਹੈ।

ਸ਼ਿਪਿੰਗ ਤੋਂ ਪਹਿਲਾਂ ਬੈਕਗ੍ਰਾਊਂਡ ਰਾਹ ਨੂੰ ਜਾਣ-ਬੁੱਝ ਕੇ ਪਰਖੋ। ਐਪ ਬੰਦ ਰੱਖ ਕੇ on-demand ਕਨੈਕਸ਼ਨ ਪੈਦਾ ਕਰੋ, ਫਿਰ ਐਪ ਦਾ ਲੌਗ ਨਹੀਂ ਬਲਕਿ ਡਿਵਾਈਸ ਕੰਸੋਲ ਪੜ੍ਹੋ, ਕਿਉਂਕਿ ਅਸਫਲਤਾ ਉਸ ਪ੍ਰਕਿਰਿਆ ਵੱਲੋਂ ਦਰਜ ਹੁੰਦੀ ਹੈ ਜਿਸਨੇ ਹਵਾਲਾ ਹੱਲ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। ਜੇ ਕੰਸੋਲ ਦਿਖਾਉਂਦਾ ਹੈ ਕਿ ਡੈਮਨ ਆਈਟਮ ਨੂੰ ਰੱਦ ਕਰ ਰਿਹਾ ਹੈ, ਤਾਂ ਹਵਾਲਾ ਠੀਕ ਹੈ ਅਤੇ ਸਮੱਸਿਆ ਆਈਟਮ ਦੀ ਪਹੁੰਚਯੋਗਤਾ ਹੈ।

ਰੀਬੂਟ ਕੰਮ ਕਰੇਗੀ ਜਾਂ ਨਹੀਂ, ਇਹ ਪਹੁੰਚਯੋਗਤਾ ਤੈਅ ਕਰਦੀ ਹੈ

ਟਨਲ ਸ਼ੁਰੂ ਕਰਨ ਵਾਲੀ ਕਿਸੇ ਵੀ ਸਿਸਟਮ ਪ੍ਰਕਿਰਿਆ ਲਈ ਆਈਟਮ ਪੜ੍ਹਨਯੋਗ ਹੋਣੀ ਚਾਹੀਦੀ ਹੈ, ਅਤੇ ਐਪ ਦੇ ਅੱਗੇ ਹੋਣ ਨਾਲੋਂ ਇਹ ਵਧੇਰੇ ਵਿਆਪਕ ਦਰਸ਼ਕ ਹੈ। ਉਹ ਪਾਬੰਦੀ ਤੁਹਾਡੇ ਲਈ ਪਹੁੰਚਯੋਗਤਾ ਵਿਸ਼ੇਸ਼ਤਾ ਚੁਣਦੀ ਹੈ। ਪਹਿਲੇ ਅਨਲੌਕ ਤੱਕ ਸੁਰੱਖਿਅਤ ਆਈਟਮ ਡਿਵਾਈਸ ਇੱਕ ਵਾਰ ਅਨਲੌਕ ਹੋਣ ਤੋਂ ਬਾਅਦ ਬੈਕਗ੍ਰਾਊਂਡ ਸ਼ੁਰੂਆਤ ਲਈ ਉਪਲਬਧ ਹੈ; ਜੋ ਆਈਟਮ ਮੰਗਦੀ ਹੈ ਕਿ ਡਿਵਾਈਸ ਹੁਣੇ ਅਨਲੌਕ ਹੋਵੇ, ਉਹ ਉਪਲਬਧ ਨਹੀਂ।

ਵਧੇਰੇ ਸਖ਼ਤ ਸ਼੍ਰੇਣੀ ਚੁਣਨਾ ਲੁਭਾਉਣਾ ਹੈ ਅਤੇ ਉਹੀ ਲਾਕ ਕੀਤੇ ਫ਼ੋਨ ’ਤੇ on-demand ਪ੍ਰੋਫ਼ਾਈਲ ਤੋੜਦਾ ਹੈ।

ਸ਼੍ਰੇਣੀ ਬਦਲਣ ਤੋਂ ਬਾਅਦ ਮੌਜੂਦਾ ਆਈਟਮ ਦੀਆਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਸੋਧਣ ਦੀ ਥਾਂ ਆਈਟਮ ਦੁਬਾਰਾ ਬਣਾਓ, ਫਿਰ ਨਵੇਂ ਹਵਾਲੇ ਨਾਲ ਪ੍ਰੋਟੋਕੋਲ ਦੁਬਾਰਾ ਸੰਭਾਲੋ। ਮੌਜੂਦਾ ਆਈਟਮ ’ਤੇ ਵਿਸ਼ੇਸ਼ਤਾ ਬਦਲਾਅ ਹਮੇਸ਼ਾ ਦਸਤਾਵੇਜ਼ ਵੱਲੋਂ ਦਿੱਤਾ ਸੰਕੇਤ ਵਿਵਹਾਰ ਨਹੀਂ ਦਿੰਦੇ, ਅਤੇ ਦੁਬਾਰਾ ਬਣੀ ਆਈਟਮ ਸ਼ੱਕ ਦੂਰ ਕਰਦੀ ਹੈ।

ਰੋਟੇਸ਼ਨ ਉਹ ਥਾਂ ਹੈ ਜਿੱਥੇ ਸੰਭਾਲੀਆਂ ਪ੍ਰੋਫ਼ਾਈਲਾਂ ਗਲਦੀਆਂ ਹਨ

ਕੀਚੇਨ ਵਿੱਚ ਪਾਸਵਰਡ ਬਦਲਣਾ ਸੰਭਾਲੀ ਪ੍ਰੋਫ਼ਾਈਲ ਕਿਸ ਵੱਲ ਇਸ਼ਾਰਾ ਕਰਦੀ ਹੈ, ਉਹ ਆਪਣੇ ਆਪ ਨਹੀਂ ਬਦਲਦਾ। ਆਈਟਮ ਮਿਟਾਉਣਾ ਹੋਰ ਮਾੜਾ ਹੈ: ਪ੍ਰੋਫ਼ਾਈਲ ਉਸ ਚੀਜ਼ ਦਾ ਹਵਾਲਾ ਰੱਖਦੀ ਹੈ ਜੋ ਹੁਣ ਨਹੀਂ ਹੈ, ਅਤੇ ਅਸਫਲਤਾ ਪ੍ਰਮਾਣਿਕਤਾ ਦੇ ਇਨਕਾਰ ਵਰਗੀ ਲੱਗਦੀ ਹੈ।

ਇੱਕੋ ਕ੍ਰਮ ਵਿੱਚ ਰੋਟੇਟ ਕਰੋ। ਆਈਟਮ ਅਪਡੇਟ ਕਰੋ, ਨਵਾਂ ਪੱਕਾ ਹਵਾਲਾ ਕੁਏਰੀ ਕਰੋ, ਪ੍ਰੋਟੋਕੋਲ ਦੁਬਾਰਾ ਸੰਭਾਲੋ, ਫਿਰ ਐਪ ਬੰਦ ਰੱਖ ਕੇ ਕਨੈਕਟ ਕਰੋ ਤਾਂ ਜੋ ਸਾਬਤ ਹੋਵੇ ਕਿ ਡੈਮਨ ਅਜੇ ਵੀ ਇਸਨੂੰ ਹੱਲ ਕਰ ਸਕਦਾ ਹੈ। ਵਰਤੋਂਕਾਰ ਦਾ ਪਾਸਵਰਡ ਅਤੇ ਸਾਂਝਾ ਭੇਤ ਵੱਖਰੀਆਂ ਆਈਟਮਾਂ ਵਿੱਚ ਰੱਖੋ ਤਾਂ ਜੋ ਹਰ ਇੱਕ ਆਪਣੇ ਸ਼ਡਿਊਲ ਅਨੁਸਾਰ ਘੁੰਮੇ, ਅਤੇ ਕੁਏਰੀ ਸ਼ਬਦਕੋਸ਼ ਜਾਂ ਹਵਾਲਾ ਆਪ ਕਦੇ ਲੌਗ ਨਾ ਕਰੋ। ਹੈਂਡਲ ਭੇਤ ਨਹੀਂ, ਪਰ ਉਸ ਵੱਲ ਨਕਸ਼ਾ ਹੈ।

ਸੰਬੰਧਿਤ ਲੇਖ