Swift 網路連接檢測 📶💻
隨著網路技術的進步,網路連接檢測也變得越來越重要。在 Swift 中,我們可以使用 Reachability
來檢測網路連接狀態。
Reachability
是一個 Swift 的第三方庫,可以讓我們檢測網路連接狀態,並且提供了一個 Reachability
的類別,可以讓我們更容易的使用它。
安裝 Reachability
要使用 Reachability
,我們需要先安裝它,可以使用 CocoaPods 或是 Carthage 來安裝,在 Podfile
或是 Cartfile
中加入以下內容:
pod 'ReachabilitySwift'
或是
github "ashleymills/Reachability.swift"
安裝完成後,我們就可以開始使用 Reachability
了。
使用 Reachability
使用 Reachability
非常簡單,只需要兩個步驟:
- 建立一個
Reachability
物件 - 註冊一個
Notification
來監聽網路狀態的變化
首先,我們建立一個 Reachability
物件:
let reachability = Reachability()!
接著,我們註冊一個 Notification
來監聽網路狀態的變化:
NotificationCenter.default.addObserver(self, selector: #selector(reachabilityChanged(note:)), name: .reachabilityChanged, object: reachability)
reachabilityChanged(note:)
是一個 @objc
的函式,用來接收 Notification
:
@objc func reachabilityChanged(note: Notification) {
let reachability = note.object as! Reachability
switch reachability.connection {
case .wifi:
print("Reachable via WiFi")
case .cellular:
print("Reachable via Cellular")
case .none:
print("Network not reachable")
}
}
最後,我們啟動 Reachability
:
do {
try reachability.startNotifier()
} catch {
print("Unable to start notifier")
}
結論
在 Swift 中,我們可以使用 Reachability
來檢測網路連接狀態,它可以讓我們更容易的檢測網路狀態,並且可以註冊 Notification
來監聽網路狀態的變化。
推薦閱讀文章
Networking with URLSession in iOS Tutorial
How to test your app’s network connectivity
URLSession Tutorial: Getting Started
URLSession Tutorial: Getting Started
URLSession Tutorial: Getting Started</a