iOS的可达性指南

有没有人find了在iOS上实现Reachability的中途体面指南?

我已经实现了像这样的可达性。 下载https://developer.apple.com/library/content/samplecode/Reachability/Introduction/Intro.html并将Reachability.h和;.m添加到您的项目中。 将SystemConfiguration框架添加到您的项目。 #import“Reachability.h”你想使用它的地方。 使用这个代码。

-(BOOL)reachable { Reachability *r = [Reachability reachabilityWithHostName:@"enbr.co.cc"]; NetworkStatus internetStatus = [r currentReachabilityStatus]; if(internetStatus == NotReachable) { return NO; } return YES; } 

当你想检查可达性…

 if ([self reachable]) { NSLog(@"Reachable"); } else { NSLog(@"Not Reachable"); } 

这是我所做的示例项目。 http://dl.dropbox.com/u/3656129/ReachabilityExample.zip

我认为检查主机地址可用性的最好方法是检查NSURL请求的结果。

 NSURLRequest *theRequest = [NSURLRequest requestWithURL:[NSURL URLWithString:reqURL]]; NSURLResponse *resp = nil; NSError *error = nil; NSData *response = [NSURLConnection sendSynchronousRequest: theRequest returningResponse: &resp error: &error]; NSString *responseString = [[NSString alloc] initWithData:response encoding:NSUTF8StringEncoding]; 

使用这一点代码,如果你的设备无法到达提供的URL,它提供了一些输出到错误variables,如果它可以访问URL请求,错误是无。

即使您的URL数据包可以从您的设备路由出去,并且永远不会到达主机服务器,可达性也会给出正面的输出。