Как проверить сетевое подключение в target-c - PullRequest
6 голосов
/ 15 февраля 2011

Я просматривал пример проекта Reachability на сайте developer.apple.com и обнаружил, что это большой проект только для проверки наличия сетевого подключения.

Первая часть вопроса: «Какой минимальный код требуется, чтобы узнать, может ли устройство подключиться к сети 3G или Wi-Fi?»

И затем это должно быть сделано внутри appDelegate (при запуске) или внутри первого запущенного View Controller?

Заранее спасибо

1 Ответ

3 голосов
/ 16 февраля 2011

Он не большой, он действительно делает то, что вы хотите. Если он слишком велик для вас, вы можете извлечь то, что вам нужно, например, accessabilityForLocalWiFi. Но я боюсь, что он не будет намного меньше.

Да, вы можете использовать достижимость в вашем делегате приложения или в первом контроллере представления.

Регистрация уведомлений о доступности ...

[[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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...