Я искал ТАК ответ на этот вопрос, и он действительно не обращен, по крайней мере, не к точке, где я могу заставить его работать.
Я первоначально только проверял на интернет-достижимость, с помощью:
self.wwanReach = [Reachability reachabilityWithHostName:@"www.apple.com"];
[wwanReach startNotifer];
Я теперь должен поддерживать локальное соединение WiFi (в отсутствие достижения Интернета в целом), и когда я нашел +reachabilityForLocalWiFi
, Я также заметил, что было +reachabilityForInternetConnection
. Я полагал, что мог использовать их вместо жесткого кодирования "www.apple.com"
там, но увы, когда я использую:
self.wwanReach = [Reachability reachabilityForInternetConnection];
[wwanReach startNotifer];
self.wifiReach = [Reachability reachabilityForLocalWiFi];
[wifiReach startNotifer];
обратный вызов достижимости, который я, никогда не настроил не называют, для значений "никогда" до 10, 12, приблизительно 15 минут (который был пока мое продлившееся терпение. (Терпение пользователя будет намного меньше, я уверен.) Переключающийся назад на +reachabilityWithHostName: работы в течение секунд. Я также попробовал каждую "пару" индивидуально, в случае, если была проблема с двумя notifiers происходящими одновременно, но это не имело никакого значения.
Так: что соответствующий путь состоит в том, чтобы определить достижимость или к Internet/WWAN или к локальной сети Wifi (или один, или оба)?
[Этим конкретным вариантом использования является iPhone или iPad, соединяющийся с Mac мини-компьютер к компьютерной сети; я уверен, что другие ситуации применяются.]