Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Isuru-Nanayakkara/Reach
A simple class to check for internet connection availability in Swift.
https://github.com/Isuru-Nanayakkara/Reach
ios reachability swift
Last synced: about 2 months ago
JSON representation
A simple class to check for internet connection availability in Swift.
- Host: GitHub
- URL: https://github.com/Isuru-Nanayakkara/Reach
- Owner: Isuru-Nanayakkara
- License: mit
- Archived: true
- Created: 2014-09-02T17:47:07.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2019-07-26T16:54:10.000Z (over 5 years ago)
- Last Synced: 2024-08-15T19:06:40.294Z (5 months ago)
- Topics: ios, reachability, swift
- Language: Swift
- Size: 40 KB
- Stars: 456
- Watchers: 26
- Forks: 119
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-ios - Reach - A simple class to check for internet connection availability in Swift. (Networking / Video)
- awesome-ios-star - Reach - A simple class to check for internet connection availability in Swift. (Networking / Video)
- awesome-swift-cn - Reach - A simple class to check for internet connection availability in Swift. (Libs / Network)
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`.
```swift
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")
}
```2. By subscribing to `ReachabilityStatusChangedNotification`s. The network status is returned as a string.
```swift
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](http://www.chrisdanielson.com/2009/07/22/iphone-network-connectivity-test-example/) is the author of the original code written in Objective-C.
* [Martin R](http://stackoverflow.com/users/1187415/martin-r) from StackOverflow helped me immensely in converting C code to Swift.