Используя Достижимость для Интернета *или* локальный WiFi?

Я искал ТАК ответ на этот вопрос, и он действительно не обращен, по крайней мере, не к точке, где я могу заставить его работать.

Я первоначально только проверял на интернет-достижимость, с помощью:

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 мини-компьютер к компьютерной сети; я уверен, что другие ситуации применяются.]

11
задан Bhavin Ramani 28 December 2016 в 05:02
поделиться