我想检测网络更改。例如,当从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