Спасибо

риложение для iphone довольно простое с одним представлением, которое обрабатывает все, в viewDidLoad я проверяю, есть ли у нас подключение к Интернету, и если мы делаем, мы загружаем из Интернета, а если нет, мы загружаем из локального ресурса. И это прекрасно работает.

//in viewDidOnload    
[[NSNotificationCenter defaultCenter] addObserver:self 
                                          selector:@selector(handleNetworkChange:) 
                                          name:kReachabilityChangedNotification object:nil];
reachability = [Reachability reachabilityForInternetConnection];
[reachability startNotifier];
NetworkStatus status = [reachability currentReachabilityStatus];

if (status == NotReachable) {
    //Do something offline
} else {
    //Do sometihng on line
}

- (void)handleNetworkChange:(NSNotification *)notice{
 NetworkStatus status = [reachability currentReachabilityStatus];
 if (status == NotReachable) {
  //Change to offline Message
 } else {
  //Relaunch online application
 }

}

Чтобы проверить событие handleNetworkChange, я отключил все сотовые данные, но оставил Wi-Fi включенным. В пределах диапазона Wi-Fi я запустил приложение, и все работает отлично. Затем я выхожу за пределы диапазона Wi-Fi, но мой handleNetworkChange никогда не срабатывает (протестировано с использованием uiAlertView). Находясь вне зоны действия Wi-Fi, мое приложение прекрасно запускает автономное сообщение.

Я подозреваю, что это проблема жизненного цикла ViewController. Должен ли этот код быть помещен в функцию AppDelegate? Возможно, это лучший дизайн для начала.

Ответы на вопрос(0)

Ваш ответ на вопрос