如何检查Internet连接或加载本地文件?

时间:2013-03-06 01:58:05

标签: ios

我有一个应用程序,它从app委托调用同步引擎。同步引擎从Web服务中获取Web数据,并将其解析并将其放入核心数据库中。

您控制器的个人调用核心数据库的提取以显示数据。

我想添加检查Internet连接的功能。我应该检查应用代理中的互联网连接,是否有一个呼叫同步引擎,否则如果没有...我该怎么办,只留空?

If (Internet) {
//call sync engine
} else { 
//do nothing
}

2 个答案:

答案 0 :(得分:1)

要检查连接性,有几个选项:

  1. 使用Apple's Reachability课程。易于使用,简单但不兼容ARC。
  2. 使用替换Apple的第三方课程。 This one很好。 ARC兼容。

答案 1 :(得分:0)

您是否尝试过可达性?它的工作原理如下:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(networkChanged:) name:kReachabilityChangedNotification object:nil];

online = [Reachability reachabilityForInternetConnection];
[online startNotifier];

- (void)networkChanged:(NSNotification *)notification {

  NetworkStatus remoteHostStatus = [online currentReachabilityStatus];

  if(remoteHostStatus == NotReachable) { 
      //use local file
  }
  else if (remoteHostStatus == ReachableViaWiFiNetwork) { 
      //use remote file
  }
  else if (remoteHostStatus == ReachableViaCarrierDataNetwork) { 
      //use remote file
  }
}