根据标题,我已经关闭了我的iPhone上的Wifi并且它具有LTE连接,但是当我调用Reachability时:currentReachabilityStatus它返回ReachableViaWifi。代码是:
in the init:
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(reachabilityChange:)
name:kReachabilityChangedNotification
object:nil];
_reachability = [Reachability reachabilityWithHostName:[[MYURLs defaultServerBaseURL] host]];
[_reachability startNotifier];
NetworkStatus status = [_reachability currentReachabilityStatus];
// here status is NotReachable
....
- (void) reachabilityChange: (NSNotification*) notification
{
NetworkStatus status = [self.reachability currentReachabilityStatus];
// here status is ReachableViaWifi
}
为什么Wifi被禁用时状态为ReachableViaWifi?
我在运行代码之前关闭了wifi。
答案 0 :(得分:0)
在reachabilityChange:
中,不要调用[self.reachability currentReachabilityStatus]
,而是查看通知的对象。
- (void) reachabilityChange: (NSNotification*) notification {
Reachability *reach = [notification object];
NetworkStatus status = [reach currentReachabilityStatus];
}
答案 1 :(得分:0)
似乎这是iOS8 Beta中的一个错误,因为相同的代码会在iOS7中产生预期的结果。
答案 2 :(得分:0)
我刚遇到同样的问题。尽管如此,从Apple获取最新的Reachability类可以修复它。