一、前言
在移動開發中,檢測網絡的連接狀態尤其檢測網絡的類型尤為重要。本文將介紹在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()即可。