gpt4 book ai didi

ios - 如何在 iOS 中检查网络可达性

转载 作者:塔克拉玛干 更新时间:2023-11-01 19:09:26 24 4
gpt4 key购买 nike

我有一个小问题。我正在使用 Reachability 类来测试互联网连接,它运行良好。然而,假设如果用户正在使用 Wifi,但他们无法访问互联网,它应该重试大约 10 秒,然后它应该向用户显示一个警报以切换到那里的蜂窝网络。下面是我的代码。当 Wifi 打开时,我不会指出网络连接速度较慢的地方。

self.internetReachable = [Reachability reachabilityForInternetConnection];
[self.internetReachable startNotifier];

//_hasConnectivity = ([self.internetReachable currentReachabilityStatus] != NotReachable);
if([self.internetReachable currentReachabilityStatus] == NotReachable) {
_hasConnectivity = NO;
}
else if([self.internetReachable currentReachabilityStatus] == ReachableViaWiFi){
_hasConnectivity = YES;
}
else if([self.internetReachable currentReachabilityStatus] == ReachableViaWWAN) {
_hasConnectivity = YES;
}

最佳答案

尝试使用以下代码返回 BOOL 值,如果连接可用则返回 YES 否则返回 NO

- (BOOL)isNetworkAvailable
{
CFNetDiagnosticRef dReference;
dReference = CFNetDiagnosticCreateWithURL (NULL, (__bridge CFURLRef)[NSURL URLWithString:@"www.apple.com"]);

CFNetDiagnosticStatus status;
status = CFNetDiagnosticCopyNetworkStatusPassively (dReference, NULL);

CFRelease (dReference);

if ( status == kCFNetDiagnosticConnectionUp )
{
NSLog (@"Connection is Available");
return YES;
}
else
{
NSLog (@"Connection is down");
return NO;
}
}

关于ios - 如何在 iOS 中检查网络可达性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19030513/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com