currentPathはstartするまで正しい値が返らない
Reachbilityの気分でcurrentPathを呼ぶと上手く取れない
let monitor = NWPathMonitor()
print(monitor.currentPath.status) //unsatisfied
startすると正しい値になる
let monitor = NWPathMonitor()
monitor.start(queue: .global(qos: .background))
...
print(monitor.currentPath.status) //satisfied
NWPathMonitorはすぐに反映されない
start直後は正しい状態に反映されないことがある。
let monitor = NWPathMonitor()
monitor.start(queue: .global(qos: .background))
print(monitor.currentPath.status) //unsatisfied
感覚としては、viewDidLoad ~ viewDidAppearくらいの時間は必要そう。
let monitor = NWPathMonitor()
override func viewDidLoad() {
super.viewDidLoad()
monitor.start(queue: .global(qos: .background))
}
override func viewDidAppear(_ animated: Bool) {
print(monitor.currentPath.status) //satisfied
}
これでも取れる
let monitor = NWPathMonitor()
override func viewDidLoad() {
super.viewDidLoad()
monitor.start(queue: .global(qos: .background))
DispatchQueue.main.async {
print(self.monitor.currentPath.status)
}
}