What is the issue with ReachabilitySwift?
<p>In my <code>viewDidLoad()</code> function I call this method:</p>

<pre><code>//MARK: Reachability
func startReachability(){
    //declare this property where it won't go out of scope relative to your listener
    do{
        let reachability = try Reachability.reachabilityForInternetConnection()

        reachability.whenReachable = { reachability in
            // this is called on a background thread, but UI updates must
            // be on the main thread, like this:
            dispatch_async(dispatch_get_main_queue()) {
                if reachability.isReachableViaWiFi() {
                    print("Reachable via WiFi")
                } else {
                    print("Reachable via Cellular")
                }
            }
        }
        reachability.whenUnreachable = { reachability in
            // this is called on a background thread, but UI updates must
            // be on the main thread, like this:
            dispatch_async(dispatch_get_main_queue()) {
                print("Not reachable")
            }
        }

        try reachability.startNotifier()

    } catch {
        print("Unable to start notifier")
    }
}
</code></pre>

<p>But it does not work. It calls <code>whenReachable()</code> and <code>whenUnreachable()</code> only once and when I turn Wi-Fi off and on it does nothing. </p>