Usługa iOS Reachability nie może złapać sprawy, która jest połączona z WiFi, ale nie jest zalogowana
Dzisiaj miałem publicznie dostępną aplikację w wersji beta. Byłem w hotelu i nie otrzymałem jeszcze kodu dostępu do WiFi. Podczas testowania osiągalności zauważyłem, że nie zawiodło tak jak powinno. To byłopołączony do WiFi, ale nic nie było osiągalne, ponieważ nie byłem zalogowanypowinien być objętereachabilityWithHostname. Oto mój kod:
W AppDelegate.h:
@interface AppDelegate : UIResponder <UIApplicationDelegate> {
Reachability* hostReach;
Reachability* internetReach;
Reachability* wifiReach;
}
W AppDelegate.m:
internetReach = [Reachability reachabilityForInternetConnection];
[internetReach startNotifier];
wifiReach = [Reachability reachabilityForLocalWiFi];
[wifiReach startNotifier];
hostReach = [Reachability reachabilityWithHostname: @"http://www.google.com"];
[hostReach connectionRequired];
[hostReach startNotifier];
W modułach wymagających łączności:
- (BOOL) isInternetReachable
{
Reachability *currentReach = [Reachability reachabilityForInternetConnection];
NetworkStatus netStatus = [currentReach currentReachabilityStatus];
return (netStatus == ReachableViaWiFi || netStatus == ReachableViaWWAN);
}
Czy ktoś wie, jak pokryć tę okoliczność?