A simple class to check for internet connection availability in Swift.
A simple class to check for internet connection availability in Swift. Works for both 3G and WiFi connections.
There are two ways to get network status information from Reach.
Reach().connectionStatus()
. The network status is returned in an enum called ReachabilityStatus
.let status = Reach().connectionStatus()
switch status {
case .unknown, .offline:
print("Not connected")
case .online(.wwan):
print("Connected via WWAN")
case .online(.wiFi):
print("Connected via WiFi")
}
ReachabilityStatusChangedNotification
s. The network status is returned as a string.override func viewDidLoad() {
super.viewDidLoad()
NotificationCenter.default.addObserver(self, selector: #selector(ViewController.networkStatusChanged(_:)), name: Notification.Name(rawValue: ReachabilityStatusChangedNotification), object: nil)
Reach().monitorReachabilityChanges()
}
@objc func networkStatusChanged(_ notification: Notification) {
if let userInfo = notification.userInfo {
let status = userInfo["Status"] as! String
print(status)
}
}