前言
在移动开发中,检测网络的连接状态尤其检测网络的类型尤为重要。本文将介绍在iOS开发中,如何使用Swift检测网络连接状态及网络类型(移动网络、Wifi)。
如何实现
Reachability.swift 是一个使用Swift写的第三方网络检测类,可以用来检测网络连接状态及网络类型(移动网络、Wifi)功能。
如何使用
- 使用Cocopod安装Reachability.swift
use_frameworks! pod 'ReachabilitySwift'
|
- 基本使用代码示例
使用前记得导入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("网络类型:无网络连接") }
|
- 监听网络变化
// 网络可用或切换网络类型时执行 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