Достижимость и достижимость WithHostName
Я использую iOS 7.1 (XCode 5.1) и недавно загрузил библиотеку Tony Million Reachability, а затем пример кода Apple. При тестировании оба успешно обнаружены, когда я выключил WiFi, однако после переподключения имя хоста оставалось недоступным.
Попытка определить, почему я посмотрел на HTTP-трафик, и кажется, что remoteHostName больше не используется, а вместо этого три произвольных запроса имени хоста (например,
http://jcyoxhjblg
).Редактировать Вышеуказанное утверждение неверно, кажется, что эти три соединения не связаны с достижимостью, а являются функцией Chrome DNS, которая выполняется при переподключении. Я все еще изучаю, почему это остается недоступным при переподключении.
Я протестировал оба примера кода (выдержка из яблока ниже) на локальном симуляторе как с www.apple.com, так и с www.google.com (с http:// и без него). Оба дают результаты, показанные / упомянутые выше.
Мне не хватает некоторого базового понимания того, как обеспечивается достижимость имени хоста изнутри Reachability?
NSString *remoteHostName = @"www.google.com";
self.hostReachability = [Reachability reachabilityWithHostName:remoteHostName];
[self.hostReachability startNotifier];
[self updateInterfaceWithReachability:self.hostReachability];
1 ответ
Я думаю, что вы должны инициализировать другой объект Reachability и вызывать "[self.hostReachability startNotifier]" каждый раз, когда ваше приложение выходит из фона, потому что метод "startNotifier" зависит от того, запущен ли CurrentRunloop.