Мы пытаемся отобразить представление предупреждения, когда нет соединения, и мы используем классы 2.2 достижимости из яблока. Проблема, с которой мы сталкиваемся, заключается в том, что в начале программы мы всегда получаем предупреждение, что нет подключения к Интернету, но мы подключены к Интернету. Есть ли правильный способ проверить подключение к Интернету с этими классами?Проверка подключения к Интернету с достижимостью 2.2
0
A
ответ
0
Я помню, как читал, что код Reachability в образцах кода Apple не так хорош для выполнения сетевых проверок. Рекомендуемый подход состоял в том, чтобы проверить, может ли устройство видеть ваш сайт (или веб-страницу), и если не дать ошибку.
Я искал, где я это прочитал, но не смог найти оригинал. Вот другая ссылка, которая использует этот подход:
0
достижимость должна занять некоторое время, чтобы сделать свою задачу. так что будьте терпеливы. используя уведомление для получения результатов.
Это то, что я делаю:
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; }
, который хорошо работает для меня.
Вы посмотрели пример кода возвращаемости? – jtbandes