La class de scope no funciona correctamente para la connection VPN

Estoy trabajando en una aplicación que necesita una connection VPN para la synchronization de datos. Estoy usando la class de accesibilidad para verificar la disponibilidad del Host.
@Functionality: – Cuando la aplicación está conectada a una VPN a través de la aplicación Junos Pulse , la synchronization de datos debe continuar si se pierde la connection VPN y debería lanzar el post de alerta. Ahora funciona para el escenario que se detalla a continuación.
@ Escenario de trabajo: – VPN está conectado inicialmente, completé la synchronization y luego desconecté la VPN manualmente de Junos Pulse. Ahora estoy intentando sincronizar de nuevo, está lanzando alerta que se espera.
@Problem Scenarion: – Terminé la synchronization inicialmente y dejé la aplicación inactiva para desconectar VPN automáticamente. Ahora, después de que VPN se haya ido, bash volver a sincronizar. No a través de la alerta de que VPN no está allí. Intenta la funcionalidad de synchronization y falla ya que el server no es accesible sin VPN.

Estoy agotado buscando su solución en internet. Estoy pegando mi fragment de código aquí. Cualquier sugerencia es muy apreciada.

-(BOOL)checkHostAvailability { Reachability *objReach = [Reachability reachabilityWithHostName:[self hostServer]]; NetworkStatus hostAvailability = [objReach currentReachabilityStatus]; if(hostAvailability == ReachableViaWiFi || hostAvailability == ReachableViaWWAN) { RLog(@"Host is Reachable"); return YES; } return NO; } 

Parece que hay un error en iOS. Cuando conecte una VPN utilizando una connection celular (o WiFi) y luego cambie a WiFi (o celular), el sistema no detectará esto. Reachability no publicará ninguna notificación porque iOS todavía piensa que no ha cambiado su interfaz.

Logré reproducirlo, de la siguiente manera:

  1. VPN conectada a 3G, con deshabilitación bajo demanda, utilizando NetworkExtension framework.
  2. Cambiado a la networking Wi-Fi.
  3. Desconectó el cable ethernet del enrutador WiFI, por lo que el enrutador no puede compartir Internet.
  4. Verificó si hay Internet en el dispositivo con VPN activa.

Y estaba alli Esto significa que todo el tráfico llega a través de la networking celular.