Ios 这种检查互联网连接的方法有什么问题?

Ios 这种检查互联网连接的方法有什么问题?,ios,objective-c,networking,Ios,Objective C,Networking,在寻找一种简单的异步方法来检查iOS中的internet访问时,我想到了一个主意,使用UIWebView来处理异步性: -(void) testNet { UIWebView *webview = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 50, 50)]; webview.delegate=self; NSString *urlAddress = @"http://bla.com/dummySmallFile.t

在寻找一种简单的异步方法来检查iOS中的internet访问时,我想到了一个主意,使用UIWebView来处理异步性:

-(void) testNet
{
    UIWebView *webview = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 50, 50)];
    webview.delegate=self;
    NSString *urlAddress = @"http://bla.com/dummySmallFile.txt";
    NSURL *url = [NSURL URLWithString:urlAddress];
    NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
   [webview loadRequest:requestObj];
}
-(void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
{
    //deal with no net stuff here
}
-(void)webViewDidFinishLoad:(UIWebView *)webView
{
    //net is there, use it here
}

这似乎是可行的,但我想知道在这种方法中是否存在任何我可能没有意识到的隐患。有什么想法吗?

这种方法有两个缺点,但没有多少工作要做:

  • 数据使用:在使用蜂窝数据的设备上,您正在使用数据。如果文件足够小,应该不会被注意到,但它仍然存在
  • 如果您正在检查Internet访问情况,而不仅仅是该站点,如果该站点已关闭,您的应用程序将假定Internet已关闭。这可以通过在高可用性云服务器上运行check服务或使用非常高可用性的网站来缓解

  • 您是专门检查该站点的访问权限,还是一般的Internet访问权限?只是检查现有的Internet连接。该网站可能是谷歌或其他可靠的网站,但我目前正在使用我自己的带有一个小文件的网站来最小化负载。为什么不使用大多数人使用的--
    可访问性
    ?@Yazanalhoroub:#1比#2重要得多#2是一个真正的问题。我想说的是“如果我第一次用它测试,然后如果它失败了,我会尝试谷歌,只是为了确定……”,但这种方法在我最初的测试中有它的用途,它的时机已经到来:)非常感谢。@Yazanalhoroub:当然。