2011-02-15 24 views
6

中的网络连接我正在查看developer.apple.com上的Reachability示例项目,并发现它是一个大型项目,只是为了验证您是否具有网络连接。如何验证在objective-c

问题的第一部分是“找出设备是否可以连接到3G或WiFi网络所需的最小代码是多少?”

接下来应该在appDelegate内部(在开始时)还是在启动的第一个View Controller内执行?

预先感谢您

回答

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 
    } 
} 

...不要忘记停止的通知,删除观察者和释放rechability对象。