2016-10-07 4 views
0

私は到達可能コードをオンラインで見つけましたが、残念ながらWi-Fiネットワークでのみ機能します。人がインターネットに接続しているかどうかを判断するコードが必要です。これにはWiFiとデータが含まれています。どんな助けでも大歓迎です!インターネットがあるかどうかを調べる(Wi-Fiまたはデータを含む)

+0

どのコードを試しましたか? –

答えて

2

Reachabilityフレームワークを使用できます。 CocoaPodsからpod 'ReachabilitySwift', '~> 3'までインストールしてください。

var reachability = Reachability()! 

はオブザーバを追加し、viewWillAppearに通知を起動します:

override func viewWillAppear(_ animated: Bool) { 
    super.viewWillAppear(true) 

    NotificationCenter.default.addObserver(self, selector: #selector(self.reachabilityChanged),name: ReachabilityChangedNotification,object: reachability) 
    do{ 
     try reachability.startNotifier() 
    }catch{ 
     print("could not start reachability notifier") 
    } 
} 

は、ネットワーク内の変化を検出する機能を追加し
は、グローバル変数を宣言します。これを使用するには

func reachabilityChanged(note: NSNotification) { 
    reachability = note.object as! Reachability 
    if !reachability.isReachable { 
     // Network not reachable 
    } 
    else{ 
     if reachability.isReachableViaWiFi { 
      // Reachable via WiFi 
     } else { 
      // Reachable via Cellular 
     } 
    } 
} 
関連する問題