2012-03-30 45 views
0

几个月前我们正在使用Apple的Reachability来检查iPad的网络状态。它以前工作过。现在,当我尝试测试它时,我总是无法访问网络,并且想知道为什么。对此有何想法?下面是我的一些代码:iOS 5.1中的可达性问题?

// In the class I want to check for reachability to send email from, I access my singleton object WebServiceManager 
WebServiceManager *wmgr = [WebServiceManager sharedInstance]; 
[wmgr CheckNetworkStatus]; 

if (wmgr.isInternetAvailable) {   
    if ([MFMailComposeViewController canSendMail]) { 
     MFMailComposeViewController *mailComposer = [[MFMailComposeViewController alloc] init]; 
     mailComposer.mailComposeDelegate = self; 

     [self presentModalViewController:mailComposer animated:YES]; 
    } 
    else { 
     UIAlertView *mailNotConfiguredAlert = [[UIAlertView alloc] initWithTitle:@"This device is not configured to send mail" message:@"Please set up your mail account in order to send an email." delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil]; 
     [mailNotConfiguredAlert show]; 
     [mailNotConfiguredAlert release]; 
    } 
} 
else { 
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Network Connection Unavailable" message:@"The network connection is currently unavailable. Please try again later." delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles: nil]; 
    [alert show]; 
    [alert release];  
} 

//在WebServiceManager

- (void)CheckNetworkStatus { 
NetworkStatus internetStatus = [_networkReachable currentReachabilityStatus]; 
switch (internetStatus) 
{ 
    case NotReachable: 
    { 
     isInternetAvailable = NO; 
     break; 
    } 
    case ReachableViaWiFi: 
    { 
     isInternetAvailable = YES; 
     break; 
    } 
    case ReachableViaWWAN: 
    { 
     isInternetAvailable = YES; 
     break; 
    } 
} 

}

回答

1

也许它没有可达性,我们用它在5.1的时刻,也不会产生任何奇怪的行为。

检查您的布尔属性isInternetAvailable是否设置正确(可能有些NSLog调试会帮助)。