swift 監測網絡狀態

1、說明
監測網絡狀態的意義:
1.經過對網絡狀態的監控,可讓應用在聯網與不聯網這兩種狀態中,作出相應的響應
2.及提醒用戶,如今是處在什麼網絡狀態下。ios

2、方法
蘋果官方提供了一個叫Reachability的示例程序
https://developer.apple.com/library/ios/samplecode/Reachability/Reachability.zipswift

1.添加框架SystemConfiguration.framework網絡

Xcode -> 「項目」 -> Build Phases -> Link Binary With Libraries -> +
![圖片描述][1]

2.添加兩個源代碼文件app

Reachability.h
Reachability.m
![圖片描述][2]

3.在橋接頭文件中引入框架

#import "Reachability.h"

4.代碼示例ide

override func viewDidLoad() {
    //添加通知,當收到通知時,調用inspectNetworkState()方法
    let center = NSNotificationCenter.defaultCenter()
    center.addObserver(self, selector: Selector(inspectNetworkState()), name: kReachabilityChangedNotification, object: nil)
}
    
func inspectNetworkState() {
    //監測wifi狀態
    let wifi = Reachability.reachabilityForLoaclWifi()
    
    //監測手機是否能連移動網絡(2g/3g)
    let mobile = Reachability.reachabilityForInternetConnection()
    
    //判斷網絡的狀態
    if (wifi.currentReachabilityStatus() != NotReachable) {
        print("當前是wifi網絡")
    } else if (mobile.currentReachabilityStatus() != NotReachable) {
        print("當前是移動3g/4g網絡")
    } else {
        print("當前無網絡")
    }
}
相關文章
相關標籤/搜索