Reach

by Isuru-Nanayakkara

Isuru-Nanayakkara /Reach

A simple class to check for internet connection availability in Swift.

451 Stars 114 Forks Last release: Not found MIT License 19 Commits 0 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

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
    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) }

}

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.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.