Ios VPN连接的可达性类无法正常工作
我正在开发一个需要VPN连接才能进行数据同步的应用程序。我正在使用可达性类检查主机可用性。Ios VPN连接的可达性类无法正常工作,ios,vpn,reachability,Ios,Vpn,Reachability,我正在开发一个需要VPN连接才能进行数据同步的应用程序。我正在使用可达性类检查主机可用性。 @功能:-当应用程序通过Junos Pulse应用程序连接到VPN时,数据同步应继续。如果VPN连接丢失,则应抛出警报消息。现在它适用于下面给出的场景。 @工作场景:-VPN最初已连接,我已完成同步,然后手动从Junos Pulse断开VPN。现在我正在尝试再次同步,它将发出预期的警报。 @问题场景:-我最初完成了同步,并将应用程序闲置以自动断开VPN连接。现在VPN消失后,我正在尝试再次同步。它不会通过
@功能:-当应用程序通过Junos Pulse应用程序连接到VPN时,数据同步应继续。如果VPN连接丢失,则应抛出警报消息。现在它适用于下面给出的场景。
@工作场景:-VPN最初已连接,我已完成同步,然后手动从Junos Pulse断开VPN。现在我正在尝试再次同步,它将发出预期的警报。
@问题场景:-我最初完成了同步,并将应用程序闲置以自动断开VPN连接。现在VPN消失后,我正在尝试再次同步。它不会通过警报显示VPN不存在。它尝试同步功能并失败,因为没有VPN无法访问服务器 在互联网上搜索它的解决方案让我筋疲力尽。我正在这里粘贴我的代码片段。非常感谢您的任何建议
-(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;
}
似乎iOS中有一个bug。当您使用蜂窝连接(或WiFi)连接VPN,然后切换到WiFi(或蜂窝)时,系统不会检测到此情况。可达性不会发布任何通知,因为iOS仍然认为您尚未切换界面 我通过以下方式复制了它:
它就在那里。这意味着,所有流量都通过蜂窝网络。您找到解决此问题的方法了吗?请一定要让我知道。你有解决这个问题的办法吗?中国面临着同样的问题iOS9@GopeshGupta-如果我没有记错,我在检查主机可达性之前,每次都将
objReach
分配给nil
。看看这对你是否有效。我不再在同一个组织中交叉验证解决方案:(谢谢@Gandalf。按照你的建议进行。但不起作用