以下のライブラリを利用します。 https://github.com/ashleymills/Reachability.swift ただし、Reachability というライブラリ名称は、Apple の公式サンプルライブラリと名称が被るので、 名称を変えないと Reject されるといった情報もあります。 ライブラリ名称を変更しておくとよいでしょう。
Closure を使う場合
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()
Notification を使う場合
let reachability = Reachability.reachabilityForInternetConnection() NSNotificationCenter.defaultCenter().addObserver(self, selector: "reachabilityChanged:", name: ReachabilityChangedNotification, object: reachability) reachability.startNotifier()
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") } }