簡體   English   中英

如何檢測我的應用程序的 vpn 是否已在 iOS 中連接?

[英]How to detect if my app's vpn is connected in iOS?

我想知道我的 VPN 是否已連接。 如果是這樣,我不會再次連接並顯示一條消息“它已連接”。

但如果它不是我的 VPN,我應該連接它。

我可以這樣做嗎?

settings ["__SCOPED__": {
    en0 =     {
        ExceptionsList = (
            "*.local",
            "169.254/16"
        );
        FTPPassive = 1;
    };
}, "ExceptionsList": <__NSCFArray 0x282a58740>(
*.local,
169.254/16
)
, "FTPPassive": 1]

您可以使用此代碼檢查 vpn 連接:

var isConnectedToVpn: Bool {
        if let settings = CFNetworkCopySystemProxySettings()?.takeRetainedValue() as? Dictionary<String, Any>,
            let scopes = settings["__SCOPED__"] as? [String:Any] {
            for (key, _) in scopes {
                    if key.contains("tap") || key.contains("tun") || key.contains("ppp") || key.contains("ipsec") || key.contains("ipsec0") {
                    return true
                }
            }
        }
        return false
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM