在开发App的过程中,需要网络连接,使用Apple提供的Reachability库判断网络状态

[objc]  view plain  copy
  1. + (BOOL)isNetworkReachable{  
  2.       
  3.     Reachability *internetReach = [Reachability reachabilityForInternetConnection];  
  4.     NetworkStatus netStatus = [internetReach currentReachabilityStatus];  
  5.       
  6. #ifndef __OPTIMIZE__  
  7.     switch (netStatus) {  
  8.         case NotReachable:  
  9.             NSlog(@"Network is not reachable");  
  10.             break;  
  11.         case ReachableViaWiFi:  
  12.             NSlog(@"Network is WiFi");  
  13.             break;  
  14.         case ReachableViaWWAN:  
  15.             NSlog(@"Network is WWAN");  
  16.             break;  
  17.         default:  
  18.             break;  
  19.     }  
  20. #endif  
  21.       
  22.     if(netStatus == NotReachable) {  
  23.         return NO;  
  24.     }  
  25.       
  26.     return YES;  
  27. }  

得到的结果始终是 NotReachable

但是我使用safari浏览器随便打开一个网址,又是正常的,检查wifi连接状况也是正常的 ,这就奇怪了!!!!


原来iOS10.0里有个功能,可以配置某个APP对网络的使用限制,比如:



如果把某个App设置为关闭的话,即使设备有网络,但这个App仍然无法访问网络数据。


注意:据说是只有国行的手机才会有这个选项,这也就解释了为何有些用户出现、而有些用户没出现这个问题。

吐槽一下,这个功能确实很恶心,有些软件还不会弹出数据选项,设置里面也没有,然后软件用不了,结果还不知道原因在哪里?


顶
Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐