2011-02-15 26 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對象。