I'm testing network loss handling in my app on the simulator.
Turning WiFi OFF triggers pathUpdateHandler with .unsatisfied status.
Turning WiFi back to ON triggers pathUpdateHandler with .unsatisfied status again.
I noticed that pathUpdateHandler is triggered right after I enabled WiFi, but before WiFi actually connects to the network. When the laptop is actually connected to the WiFi network - pathUpdateHandler isn't triggered, so my app stays in "offline" mode permanently.
networkMonitor.pathUpdateHandler = { [weak self] path in
guard let self = self else { return }
DispatchQueue.main.async {
if path.status == .satisfied {
self.status = .connected
} else {
print(path.unsatisfiedReason)
self.status = .disconnected
}
}
}
monitor.start(queue: queue)
networkMonitor is retained by my DIContainer
Selecting any option will automatically load the page