2
+ (BOOL) networkAvailable {
    Reachability *reachability = [Reachability reachabilityForInternetConnection];

    NetworkStatus internetStatus = [reachability currentReachabilityStatus];
    if (internetStatus != NotReachable) {

        return YES;
    }
    return NO;
}

我正在使用 Tony Million 的可达性课程。我制作了一个静态实用程序方法来检查当前的可达性。但是它仅在应用程序启动时第一次起作用。

如果我在模拟器中启动应用程序后从 iMac 上拔下 LAN 电缆(我已连接到办公室的共享 LAN),

此方法仍然返回 YES。

此外,当我使用设备对其进行测试并删除 wifi 连接并尝试进行 API 调用时,也会发生相同的行为。

它永远不会检测到互联网不再可用。

我不想要任何关于可达性改变的通知。我只想在进行 API 调用之前检查连接是否可用。

编辑: 这就是我使用它的方式。

if(![MyUtilities networkAvailable])
{
   // network not there. show a message.
}
else {
  // make the API call
}
4

0 回答 0