美文网首页程序员iOS Developer首页投稿(暂停使用,暂停投稿)
iOS开发 - Swift实现检测网络连接状态及网络类型

iOS开发 - Swift实现检测网络连接状态及网络类型

作者: 天秤vs永恒 | 来源:发表于2016-06-24 15:49 被阅读4101次

    一、前言

    在移动开发中,检测网络的连接状态尤其检测网络的类型尤为重要。本文将介绍在iOS开发中,如何使用Swift检测网络连接状态及网络类型(移动网络、Wifi)。

    二、如何实现

    Reachability.swift 是一个使用Swift写的第三方网络检测类,可以用来检测网络连接状态及网络类型(移动网络、Wifi)功能。

    三、如何使用

    1. 使用Cocopod安装Reachability.swift

    use_frameworks!
    pod 'ReachabilitySwift'
    

    2. 基本使用代码示例

    使用前记得导入ReachabilitySwift类,下面代码放在viewDidLoad()方法中即可。

    var reachability: Reachability!
    
    do {
        reachability = try Reachability.reachabilityForInternetConnection()
    } catch {
        print("Unable to create Reachability")
        return
    }
    
    // 检测网络连接状态
    if reachability.isReachable() {
        print("网络连接:可用")
    } else {
        print("网络连接:不可用")
    }
    
    // 检测网络类型
    if reachability.isReachableViaWiFi() {
        print("网络类型:Wifi")
    } else if reachability.isReachableViaWWAN() {
        print("网络类型:移动网络")
    } else {
        print("网络类型:无网络连接")
    }
    
    

    3. 监听网络变化

    // 网络可用或切换网络类型时执行
    reachability.whenReachable = { reachability in
        
        // 判断网络状态及类型
    }
    
    // 网络不可用时执行
    reachability.whenUnreachable = { reachability in
        
        // 判断网络状态及类型
    }
    
    do {
        // 开始监听
        try reachability.startNotifier()
    } catch {
        print("Unable to start notifier")
    }
    
    

    停止监听调用reachability.stopNotifier()即可。

    四、项目地址

    Github地址:https://github.com/ashleymills/Reachability.swift

    相关文章

      网友评论

      本文标题:iOS开发 - Swift实现检测网络连接状态及网络类型

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