iphone - 当 iDevice 使用 3G/UMTS/Edge 时检测已建立的 VPN

标签 iphone ios ipad vpn

如果 iDevice 通过 WiFi 连接到互联网,我可以使用 kSCNetworkFlagsTransientConnection 检测 VPN 状态。效果很好。

但在 3G/UMTS 的情况下,此标志始终为 true。

VPN 开/关都是可达性标志状态:WR t----l-

当 iDevice 通过 3G/UMTS/EDGE 连接到互联网时,有办法检测 VPN 状态吗?

最佳答案

如果这仍然有值(value)。我找到了一个方法来测试。至少对于 IPSec 和 Juniper 来说,VPN 连接似乎会更改设备的代理设置:

NSDictionary *dict = (__bridge NSDictionary *)(CFNetworkCopySystemProxySettings());

当 VPN 未打开时,字典有 0 项。当 VPN 打开时,dict 具有与特定 VPN 连接相关的内容。

关于iphone - 当 iDevice 使用 3G/UMTS/Edge 时检测已建立的 VPN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9161237/

相关文章:

iphone - iOS 应用程序 sqlite3 上的离线缓存损坏

ios - 在动画过程中改变位置?

iphone - isinf 被禁止提交到appstore

iphone - 更改 UITableview 中按下的特定按钮的图像

ios - UITextView setFrame 没有在 UITableViewCell 中唤醒

ios - 如何显示 UITableViewCell 的自定义 UIMenuItem?

ios - 使用 JavaScript 访问 WKWebView 中的本地文件

iOS 应用程序——在某些设备上无法通过蜂窝网络访问我们的域

iphone - UITableView 不显示解析的数据

iphone - 为什么 XCode 4 在图像列表中包含文件扩展名和 @2x 后缀?