Conectividad empresarial vpn de iOS

En una aplicación iOS, si tuviera que acceder a services remotos corporativos, a través de VPN, cuál sería su patrón para asegurarse de que tiene conectividad e informar al usuario si ese no es el caso:

  • compruebe que su networking y VPN están funcionando (comprobando si algún host como google.com y algún host de empresa privada son accesibles) y si ese es el caso, entonces llame al service remoto.
  • o llame directamente al service remoto, y si hay una exception de networking, luego verifique si tanto un host de networking como un host de empresa son accesibles. (para saber qué está pasando e informar al usuario)
  • o lo harías de manera diferente?

Enfoque habitual:

1) El usuario abre el cliente VPN habilita la conectividad VPN

2) El usuario usa la aplicación.

Enfoque alternativo:

Si está desarrollando una aplicación empresarial, entonces posiblemente podría iniciar y detener la connection VPN directamente desde la aplicación utilizando la API privada de Apple.

Ventajas del enfoque :

De modo que todas las conexiones de networking de la aplicación se enrutan a través de VPN y el usuario no tiene que habilitar la connection VPN cada vez que usa la aplicación.

Referencia:

Podrías encontrar discusiones interesantes sobre este tema en los siguientes temas.

Hilo 1

Hilo 2

Hilo 3