Adi*_*ane 4 objective-c reachability ios iphone-5 ios7
我在使用iOS 7的iPhone 5上遇到了奇怪的问题,我已经测试过与其他设备相同的代码,如iPad1,2,3和iPhone 4,4s等,包括iOS 7在内的不同iOS组合.
问题:
当我打开飞机模式时,我确实按预期获得了可达性通知状态,NotReachable但是在该应用程序收到状态代码ReachableViaWWAN不可预期的通知之后.
代码:
+(BOOL)checkReachability
{
Reachability* internetReachable = [Reachability reachabilityForInternetConnection];
NetworkStatus internetStatus = [internetReachable currentReachabilityStatus];
switch (internetStatus)
{
case NotReachable:
{
DebugLog(@"The internet is down.");
return NO;
break;
}
default:
return YES;
break;
}
return YES;
}
Run Code Online (Sandbox Code Playgroud)
我在开关之前添加了日志,它ReachableViaWWAN在飞机模式下返回状态.
可能的解决方法可能是:
ReachableViaWWAN在这种情况下添加案例并检查主机是否可达.并相应返回BOOL值.
有人遇到类似的问题?? 我搜索过但没有找到类似的情况.
提前致谢 !!
小智 10
我有同样的问题.解决方案是检查标志isConnectionRequired.文件说:
WWAN可能可用,但在建立连接之前不会处于活动状态.
BOOL isServerAvailable;
Reachability *reachability = [Reachability reachabilityForInternetConnection];
if ((reachability.isConnectionRequired) || (NotReachable == reachability.currentReachabilityStatus)) {
isServerAvailable = NO;
} else if((ReachableViaWiFi == reachability.currentReachabilityStatus) || (ReachableViaWWAN == reachability.currentReachabilityStatus)){
isServerAvailable = YES;
}
Run Code Online (Sandbox Code Playgroud)
我遇到了这个问题并在这里找到了解决方案。ReachableViaWWAN基本上,出于某种原因,在飞行模式下可以达到平衡。然而,还有另一个标志将指示是否必须首先建立连接。这个kSCNetworkReachabilityFlagsConnectionRequired标志在 Reachability 类中有一个很好的辅助方法,称为connectionRequired
| 归档时间: |
|
| 查看次数: |
6429 次 |
| 最近记录: |