No Description

Ashley Mills 27a0a84c12 Update README.md 11 years ago
Reachability Sample c43f302cd5 Tidy up 11 years ago
Reachability Test 79f8d2502f Add test harness app 11 years ago
.gitignore 79f8d2502f Add test harness app 11 years ago
LICENSE acc3ef30f8 Initial check in 11 years ago
README.md 27a0a84c12 Update README.md 11 years ago
Reachability.swift c43f302cd5 Tidy up 11 years ago

README.md

Reachability.swift

Replacement for Apple's Reachability re-written in Swift with callbacks

Inspired by https://github.com/tonymillion/Reachability

NOTE:

As of Swift 1.1, you cannot convert Swift closures into C-function pointers, meaning we can't set an SCNetworkReachabilityCallBack.

To get around this, this reachability replacement uses an NSTimer firing at 1/2 second intervals.

Use

Just drop the Reachability.swift file into your project. That's it!

Example - closures

let reachability = Reachability.reachabilityForInternetConnection()

reachability.whenReachable = { reachability in
    if reachability.isReachableViaWiFi() {
        println("Reachable via WiFi")
    } else {
        println("Reachable via Cellular")
    }
}
reachability.whenUnreachable = { reachability in
    println("Not reachable")
}

reachability.startNotifier()

Example - notifications

let reachability = Reachability.reachabilityForInternetConnection()

NSNotificationCenter.defaultCenter().addObserver(self, selector: "reachabilityChanged:", name: ReachabilityChangedNotification, object: reachability)

reachability.startNotifier()

and

func reachabilityChanged(note: NSNotification) {

    let reachability = note.object as Reachability

    if reachability.isReachable() {
        if reachability.isReachableViaWiFi() {
            println("Reachable via WiFi")
        } else {
            println("Reachable via Cellular")
        }
    } else {
        println("Not reachable")
    }
}

Let me know!

If you use Reachability.swift, please let me know… and tell your friends!

Cheers, Ash