6

我在 developer.apple.com 上查看了 Reachability 示例项目,发现它是一个大型项目,只是为了验证您是否有网络连接。

问题的第一部分是“确定设备是否可以访问 3G 或 wifi 网络所需的最低代码是多少?”

接下来应该在 appDelegate 内(启动时)还是在启动的第一个 View Controller 内完成?

先感谢您

4

1 回答 1

3

它并不大,它确实可以满足您的需求。如果它对你来说太大,你可以提取你只需要的东西,比如reachabilityForLocalWiFi。但恐怕不会小很多。

是的,您可以在应用程序委托或第一个视图控制器中使用可达性。

可达性通知注册...

[[NSNotificationCenter defaultCenter] addObserver:self
                                         selector:@selector(networkReachabilityDidChange:)
                                             name:kReachabilityChangedNotification
                                           object:nil];
__reachability = [[Reachability reachabilityWithHostName:@"www.google.com"] retain];
[__reachability startNotifier];

...回调方法示例...

- (void)networkReachabilityDidChange:(NSNotification *)notification {
  Reachability *reachability = ( Reachability * )[notification object];
  if ( reachability.currentReachabilityStatus != NotReachable ) {
    // Network is available, ie. www.google.com
  } else {
    // Network is not available, ie. www.google.com
  }
}

...不要忘记停止通知,删除观察者并释放可重复性对象。

于 2011-02-16T09:08:59.007 回答