1

私のプロジェクトでは、Apple が提供する Reachability クラスを使用しています。インターネット接続がない場合、警告メッセージを表示しています。シミュレーターでテストするとすべて正常に動作しますが、iPad で実行すると、インターネットがない場合にアラート メッセージが表示されません。

iOS 5.0 でコードを実行しています。

どんな助けでも大歓迎です。

編集:

-(BOOL)isInternetConnectionPresent{

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

if(internetStatus != NotReachable)
{
    return YES;
}


   return NO;
}

アップデート:

NSLog を使用してデバッグしました。SIMカードがなくても、WWANに問題があったようです。iPadを再起動し、Wi Fiを再度オフにしてオンにしました。今では正常に動作します。助けてくれてありがとう。

4

2 に答える 2

1

すべてのNetworkStatusを確認し、デバイスのWifi 接続の状態を再度確認する必要があります。

例:

// to check if, wifi connected properly in current device.
- (BOOL)networkCheck {

    Reachability *wifiReach = [Reachability reachabilityForInternetConnection];
    NetworkStatus netStatus = [wifiReach currentReachabilityStatus];

    switch (netStatus)
    {
        case NotReachable:
        {
            NSLog(@"NETWORKCHECK: Not Connected");          
            return NO;
            break;
        }
        case ReachableViaWWAN:
        {
            NSLog(@"NETWORKCHECK: Connected Via WWAN");
            return NO;
            break;
        }
        case ReachableViaWiFi:
        {
            NSLog(@"NETWORKCHECK: Connected Via WiFi");
            return YES;
            break;
        } 
    }
    return false;

}
于 2012-11-06T08:44:04.960 に答える
0

私の場合、次のコード スニペットは iOS 5 で完全に動作しています。ここでは、WIFI でインターネット接続を確認しています。

- (NSString *)stringFromStatus:(NetworkStatus ) status {
NSString *string;
switch(status) {
    case NotReachable:
        string = @"Not Reachable";
        break;
    case ReachableViaWiFi:
        string = @"Reachable via WiFi";
        break;
    case ReachableViaWWAN:
        string = @"Reachable via WWAN";
        break;
    default:
        string = @"Unknown";
        break;
}
return string;

}

------------------------ 次のコード行で確認できます。

 Reachability *reach =[Reachability reachabilityForLocalWiFi] ;
NetworkStatus status = [reach currentReachabilityStatus];
NSLog(@"%@", [self stringFromStatus: status]);

if ([[self stringFromStatus: status] isEqualToString: @"Not Reachable"]) 
{
    UIAlertView *alert = [[UIAlertView alloc]
                          initWithTitle:@"Connection Failure !"
                          message:@"Your Device is not Connected to any active WIFI Connection."
                          delegate:self
                          cancelButtonTitle:@"OK"
                          otherButtonTitles:nil];
    [alert show];
}
else
{ //connected to internet.

}

于 2012-11-06T10:11:45.940 に答える