判断系统是否链接VPN
其实代码就可以直接判断。废话不多说。直接上代码;
- (NSString *)isVPNConnected {
NSDictionary *dict = CFBridgingRelease(CFNetworkCopySystemProxySettings());
NSArray *keys = [dict[@"__SCOPED__"]allKeys];
for (NSString *key in keys) {
if ([key rangeOfString:@"tap"].location != NSNotFound ||
[key rangeOfString:@"tun"].location != NSNotFound ||
[key rangeOfString:@"ppp"].location != NSNotFound||
[key rangeOfString:@"ipsec"].location != NSNotFound ||){
return @"已链接";
}
}
return @"未链接";
}
这只能判断手机是否链接上VPN,不能判断链接是那个APP链接VPN的。在这里有一个想法,就是先判断手机是否链接VPN之后再ping一下,如果能ping通的话,就默认为是本公司的VPN,否则就不是的。因为公司没有这方面要求时间也有限就没有去做拓展。欢迎大家能够提供更优解
网友评论