Popularity
5.8
Stable
Activity
3.0
-
439
27
116

Programming language: Swift
Tags: Networking    

Reach alternatives and similar libraries

Based on the "Networking" category

Do you think we are missing an alternative of Reach or a related project?

Add another 'Networking' Library

README

Reach

A simple class to check for internet connection availability in Swift. Works for both 3G and WiFi connections.

Install

Manually
  • Add the Reach.swift file to your project.

Usage

There are two ways to get network status information from Reach.

  1. Call 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")
}
  1. By subscribing to ReachabilityStatusChangedNotifications. 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)
    }

}

ToDo

  • [ ] Return storngly typed object containing more information about the network status.

Credits

  • Chris Danielson is the author of the original code written in Objective-C.
  • Martin R from StackOverflow helped me immensely in converting C code to Swift.