Вы можете использовать NWPathMonitor , который является сетевым монитором, чтобы проверить, доступна ли сеть. Я использовал один из них, создав для него структуру:
// make sure to import Network in your file when you do this
struct NetworkMonitor {
static let monitor = NWPathMonitor()
static var connection = true
}
Затем использовал его так, где бы вы ни хотели начать мониторинг:
NetworkMonitor.monitor.pathUpdateHandler = { path in
if path.status == .satisfied {
print("connection successful")
NetworkMonitor.connection = true
// then respond to successful connection here, I used a notification and this connection bool
} else {
print("no connection")
NetworkMonitor.connection = false
// respond to lack of connection here
}
}
let queue = DispatchQueue(label: "Monitor")
NetworkMonitor.monitor.start(queue: queue)