美文网首页
iOS中的VPN检测

iOS中的VPN检测

作者: 冰宫无凉 | 来源:发表于2019-02-22 15:07 被阅读15次

    判断系统是否链接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,否则就不是的。因为公司没有这方面要求时间也有限就没有去做拓展。欢迎大家能够提供更优解

    相关文章

      网友评论

          本文标题:iOS中的VPN检测

          本文链接:https://www.haomeiwen.com/subject/kudeyqtx.html