+ (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
}