2017-10-08 19 views
1

モバイルデータ(3G/4G)を有効にしていますが、モバイルネットワークにデータが残っていません。iOS:Wi-Fiに接続してもインターネットにアクセスできない

上記の状態を迅速に知ることが可能ですか?

私は以下のコードをチェックしましたが、間違った情報を与えています。以下の条件は、モバイルデータをオフにしたときのみ満たされます。私の要件は、モバイルデータがオンでないと

let reachability = Reachability(hostName: "https://www.google.com") 
    if reachability.currentReachabilityStatus() == NotReachable { 

    } 
+0

のために働いて解決策を見つけ接続可いいえ、インターネットです(?)。 [こちら](https://stackoverflow.com/questions/24260833/ios-reachabilitywithhostname-yes-although-it-should-be-no)と[ここ](https://github.com/ashleymills/Reachability)をご覧ください。即時/問題/ 115) –

+0

あなたはそれが不可能であることを伝えていますか – Sree

+0

はい、現在のReachabilityの実装では不可能です。 hostNameで初期化すると、有効なホスト名かどうかを確認するだけで、実行時にネットワーク接続をチェックすることはありません。 –

答えて

1

これは既知の問題であり、私

func isConnectedToNetwork()->Bool { 
    var Status:Bool = false 
    let url = NSURL(string: "http://google.com/") 
    let request = NSMutableURLRequest(URL: url!) 
    request.HTTPMethod = "HEAD" 
    request.cachePolicy = NSURLRequestCachePolicy.ReloadIgnoringLocalAndRemoteCacheData 
    request.timeoutInterval = 10.0 
    var response: NSURLResponse? 
    _ = try? NSURLConnection.sendSynchronousRequest(request, returningResponse: &response) as NSData? 
    if let httpResponse = response as? NSHTTPURLResponse { 
     if httpResponse.statusCode == 200 { 
      Status = true 
     } 
    } 
    return Status 
} 
関連する問題