1

インターネット接続が必要な iPhone アプリケーションを開発しているので、Apple のサンプル コードで提供されている Reachability クラス ファイルをプロジェクトに使用しました。ビューコントローラーに「Reachability.m」をインポートし、次のコードを使用してインターネット接続を確認しました

Reachability *reachability = [Reachability reachabilityForInternetConnection];
NetworkStatus internetStatus = [reachability currentReachabilityStatus];

接続を確認するには、

    if (internetStatus != NotReachable)
{
     My code to run.
}

さて、これは昨夜まで正常に機能していました。しかし、現在、インターネットステータスはインターネット接続なしを検出しません。Wifi がオフになっているので、これらの if ステートメントを使用してステータスを確認しました

if(internetStatus==ReachableViaWiFi){
    NSLog(@"Reachable VIA WIFI");
}
if(internetStatus==ReachableViaWWAN) {
    NSLog(@"Reachable VIA WLAN");
}
if(internetStatus==NotReachable){
    NSLog(@"Not Reachable");
}

ただし、WIFI経由で到達可能と表示されます。Wi-Fi がオフになっているため、問題の原因がわかりません。先日、最後に機能したときからコードを1行も変更していません。

Xcodeシミュレーターでテストしています。

4

3 に答える 3

0

これを試して:

if([self connected] ) 
  {
    NSLog(@"Internet connected\n");
  } 


- (BOOL)connected 
{
    Reachability *reachability = [Reachability reachabilityForInternetConnection];  
    NetworkStatus networkStatus = [reachability currentReachabilityStatus]; 
    return !(networkStatus == NotReachable);
}

ここでrechability クラスを取得できます: サンプルをダウンロードし、Reachability.h と Reachability.m をプロジェクトに追加します。

于 2013-08-12T13:07:24.243 に答える