gpt4 book ai didi

ios - AFNetworking 在没有事件互联网连接的情况下检测 wifi 连接

转载 作者:可可西里 更新时间:2023-11-01 04:43:59 24 4
gpt4 key购买 nike

我正在使用 AFNetworking 并且想知道当用户连接到 wifi 网络但没有事件的互联网连接时如何检测场景。

我重现了这个场景,在没有连接 dsl 线路的情况下为路由器供电。

AFNetworking return  AFNetworkReachabilityStatusReachableViaWiFi = 2

我的代码:

 [[AFNetworkReachabilityManager sharedManager] setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
NSLog(@"Reachability: %@", AFStringFromNetworkReachabilityStatus(status));
self.isInternetAvialable = status > 0;
}];

谢谢

我把代码改成了这样

  AFNetworkReachabilityManager* manager = [AFNetworkReachabilityManager managerForDomain:@"http://www.google.com"];
[manager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
NSLog(@"Reachability: %@", AFStringFromNetworkReachabilityStatus(status));
self.isInternetAvialable = status > 0;
}];
[manager startMonitoring];

现在 block 永远不会被调用!

最佳答案

与其使用仅监控网络连接的 [AFNetworkReachabilityManager sharedManager],您还可以使用 [AFNetworkReachabilityManager managerForDomain:(NSString *)domain] 并传递适当的主机名 - 这样作为“www.google.com”——这样你就可以测试你所连接的网络是否可以访问互联网——它仍然可以被本地 DNS 和网络服务器所欺骗,但我认为不太可能有人会这样做.

一旦您有了AFNetworkReachabilityManager,您就可以像为共享管理器一样设置更改 block

关于ios - AFNetworking 在没有事件互联网连接的情况下检测 wifi 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23626809/

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