我想檢測網絡更改。例如,當從wifi切換到4G或返回時。但是我的代碼沒有檢測到這些變化。當應用程序啓動時,我只獲得一些輸出。通知中心未觸發網絡更改
我有這樣的代碼:
import ReachabilitySwift
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
let reachability = Reachability()!
NotificationCenter.default.addObserver(self, selector: #selector(self.reachabilityChanged),name: ReachabilityChangedNotification,object: reachability)
do{
try reachability.startNotifier()
}catch{
print("could not start reachability notifier")
}
}
func reachabilityChanged(note: NSNotification) {
let reachability = note.object as! Reachability
if reachability.isReachable {
if reachability.isReachableViaWiFi {
print("Reachable via WiFi")
} else {
print("Reachable via Cellular")
}
} else {
print("Network not reachable")
}
}
難道我已經實現了什麼問題?
我已經改變了代碼到你。但它不起作用。 – da1lbi3
嘗試使用基於塊的API。 – vadian
你是什麼意思?我已經在此頁面上使用了示例 - 通知:https://github.com/ashleymills/Reachability.swift – da1lbi3