【问题标题】:How to check the Limited Access on wifi in swift, like if my device is connected to wifi but that wifi don't have internet connection如何快速检查 wifi 上的受限访问,例如我的设备已连接到 wifi 但该 wifi 没有互联网连接
【发布时间】:2018-12-04 08:06:00
【问题描述】:

我想检查 wifi 是否有互联网连接。包括 alamofire 在内的大多数解决方案/方法仅在设备仅连接到 wifi 时才返回 true,不要检查 wifi 是否有互联网连接。

【问题讨论】:

  • 您可以使用可达性并指定一个 Internet 主机名作为测试点

标签: ios swift


【解决方案1】:

Apple 的reachability sample code 仅允许在接口可用且可能允许连接的情况下获取信息。 Apple 托管了一些端点,用于验证 Internet 访问是否可用。例如this one。您可以在 Apple 的可访问性之上创建自己的包装器,或使用现有的称为 Connectivity 的包装器。它为您提供了这样的选择:

connectedViaWiFi,
connectedViaWWAN,
connectedViaWiFiWithoutInternet,
connectedViaWWANWithoutInternet

你对connectedViaWiFiWithoutInternetconnectedViaWWANWithoutInternet 很感兴趣。该库允许配置要使用的端点等。

【讨论】:

    【解决方案2】:

    简单地做:

    var reachabilityManager = NetworkReachabilityManager()
    
    private
    var networkIsReachable : Bool{
        return reachabilityManager?.isReachable ?? false
    }
    
    private
    var isEthernetOrWifiReachable : Bool{
        return reachabilityManager?.isReachableOnEthernetOrWiFi ?? false
    }
    

    由于手机上没有以太网isReachableOnEthernetOrWiFi 将检查 wifi

    【讨论】:

    • sorry mate @H.jacob 这在检查 wifi 中的互联网连接时不起作用,即使 wifi 没有互联网连接,它也会返回 true
    猜你喜欢
    • 2012-05-18
    • 1970-01-01
    • 1970-01-01
    • 2018-03-19
    • 2015-12-14
    • 1970-01-01
    • 2017-09-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多