Проверка интернет-соединения с Reachability 2.2 - PullRequest
0 голосов
/ 28 июля 2010

Мы пытаемся отобразить предупреждение, когда нет соединения, и мы используем классы достижимости 2.2 от Apple.Проблема, с которой мы сталкиваемся, заключается в том, что в начале программы мы всегда получаем предупреждение о том, что нет подключения к Интернету, но мы подключены к Интернету.Есть ли правильный способ проверить интернет-соединение с этими классами?

Ответы [ 2 ]

0 голосов
/ 26 сентября 2010

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

Вот что я делаю:

BOOL hasInet;
Reachability *connectionMonitor = [Reachability reachabilityForInternetConnection];
[[NSNotificationCenter defaultCenter]
    addObserver: self
    selector: @selector(inetAvailabilityChanged:)
    name:  kReachabilityChangedNotification
    object: connectionMonitor];

hasInet = [connectionMonitor currentReachabilityStatus] != NotReachable;

, а затем

-(void)inetAvailabilityChanged:(NSNotification *)notice {
    Reachability *r = (Reachability *)[notice object];
    hasInet = [r currentReachabilityStatus] != NotReachable;
}

, который хорошо работает для меня.

0 голосов
/ 28 июля 2010

Я помню, что читал, что код Reachability в примерах кода Apple не так хорош для проверки сети. Рекомендуемый подход состоял в том, чтобы проверить, может ли устройство видеть ваш веб-сайт (или веб-страницу), и если нет, выдать ошибку.

Я искал, где я это читал, но не смог найти оригинал. Вот другая ссылка, которая использует этот подход:

http://www.iphonedevx.com/?p=657

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