Я искал SO для ответа на этот вопрос, и на самом деле он не адресован, по крайней мере, не до такой степени, что я могу заставить его работать.Использование достижимости для Интернета * или * локального WiFi?
Я проверял первоначально только для интернет-достижимости, используя:
self.wwanReach = [Reachability reachabilityWithHostName:@"www.apple.com"];
[wwanReach startNotifer];
мне теперь нужно поддерживать локальное соединение Wi-Fi (при отсутствии достижения Интернета в целом), и когда я нашел +reachabilityForLocalWiFi
, я также заметил, что был +reachabilityForInternetConnection
. Я полагал, что я мог бы использовать их, вместо жесткого кодирования "www.apple.com"
в там, но, увы, когда я использую:
self.wwanReach = [Reachability reachabilityForInternetConnection];
[wwanReach startNotifer];
self.wifiReach = [Reachability reachabilityForLocalWiFi];
[wifiReach startNotifer];
достижимость обратный вызов, который я создал «никогда» не вызывается, для значений «никогда «До 10, 12, 15 минут или около того (до тех пор, пока мое терпение продолжалось (терпение пользователя будет намного меньше, я уверен). Возвращение к + достижимостиWithHostName: работает в течение нескольких секунд. Я также пробовал каждый" пара "индивидуально, в случае возникновения проблемы с одновременным выполнением двух уведомлений, но это не имело никакого значения.
So: Что является подходящим способом определения доступности для Интернета или WWAN или локального i (как один, так и оба)?
[Этот конкретный вариант использования - это iPhone или iPad, подключаемый к компьютерной сети Mac mini; Я уверен, что применяются в других ситуациях.]
Я думаю, что первоначальный вопрос о получении уведомления об изменениях в отличие от проверки текущего состояния. –
Уведомления не работают должным образом, но повторный опрос с помощью описанного выше метода отлично работает. – Alex