Проверка WIFI доступна с помощью ASIHTTPRequest - PullRequest
2 голосов
/ 29 января 2012

Я использую ASIHTTPRequest. Мне нужно знать, как сделать следующие события, используя его;

Следующим способом я должен проверять доступность Интернета, но в каком случае я должен добавить его для решения следующих проблем:

self.remoteHostStatus           = [[Reachability sharedReachability] remoteHostStatus];
self.internetConnectionStatus   = [[Reachability sharedReachability] internetConnectionStatus];
self.localWiFiConnectionStatus  = [[Reachability sharedReachability] localWiFiConnectionStatus];

1.) Такие приложения, как foursquare, выдают предупреждение , как только теряется Интернет ? Как это сделать, и в каком случае я должен это кодировать? (Возможно, пользователь выполняет задание, и внезапно Wi-Fi отключается, затем я должен вывести предупреждение о том, что Wi-Fi недоступен)

2.) Как только Интернет / Wi-Fi возвращается мне нужно обновить и обновить данные. Как это сделать? (он должен постоянно слушать, и как только интернет вернется, он должен обновить это представление)

1 Ответ

3 голосов
/ 29 января 2012

Reachability отправляет уведомление, которое называется kReachabilityChangedNotification.

. Вы можете принудительно генерировать это уведомление, используя

- (BOOL)startNotifier;
- (void)stopNotifier;

Reachability. Сначала зарегистрируйте это уведомление - например, вviewDidLoad из UIViewController:

[[NSNotificationCenter defaultCenter] addObserver:self 
                                         selector:@selector(reachabilityChangedNotificationSent:) 
                                             name:kReachabilityChangedNotification 
                                           object:nil];

Добавьте следующий метод - например, к вашей реализации UIViewController.

- (void)reachabilityChangedNotificationSent:(NSNotification *)notification
{
    NSLog(@"reachability changed: %@", notification.userInfo);
}

Теперь просто вызовите startNotifier - напримерв viewDidLoad снова, и вы должны быть проинформированы о любых изменениях.

[[Reachability sharedReachability] startNotifier];

Не забудьте удалить себя из этого уведомления и вызвать stopNotifier, когда закончите.Следование моему примеру будет означать, что вы должны добавить это в вашу viewDidUnload реализацию.

[[Reachability sharedReachability] stopNotifier];
[[NSNotificationCenter defaultCenter] removeObserver:self
                                                name:kReachabilityChangedNotification 
                                              object:nil];
...