gpt4 book ai didi

iphone - 使用可达性互联网*或*本地 WiFi?

转载 作者:行者123 更新时间:2023-12-03 16:03:57 27 4
gpt4 key购买 nike

我已经搜索了这个问题的答案,但它并没有真正得到解决,至少没有达到我可以使其发挥作用的程度。

我最初只是检查互联网可达性,使用:

self.wwanReach = [Reachability reachabilityWithHostName:@"www.apple.com"];
[wwanReach startNotifer];

我现在需要支持本地 WiFi 连接(一般情况下无法访问互联网),当我发现 +reachabilityForLocalWiFi 时,我还注意到有 +reachabilityForInternetConnection 。我想我可以使用这些,而不是硬编码 "www.apple.com"在那里,但是可惜,当我使用时:

self.wwanReach = [Reachability reachabilityForInternetConnection];
[wwanReach startNotifer];
self.wifiReach = [Reachability reachabilityForLocalWiFi];
[wifiReach startNotifer];

我设置的可达性回调“从不”被调用,“从不”的值长达 10、12、15 分钟左右(只要我有耐心。(用户的耐心会很大)更少,我确信。)切换回 +reachabilityWithHostName: 可以在几秒钟内完成。我还单独尝试了每个“对”,以防两个通知程序同时进行时出现问题,但这没有什么区别。

那么:确定 Internet/WWAN 或本地 Wifi 网络(其中之一或两者)的可达性的适当方法是什么?

[此特定用例是连接到 Mac mini 计算机到计算机网络的 iPhone 或 iPad;我确信其他情况也适用。]

最佳答案

使用此函数检查 wifi 是否打开

- (BOOL)isWifiOn {
Reachability* wifiReach = [Reachability reachabilityForLocalWiFi];

NetworkStatus netStatus = [wifiReach currentReachabilityStatus];
return (netStatus==ReachableViaWiFi);
}

类似的代码可用于检查reachabilityForInternetConnection,但您必须检查

(netStatus==ReachableViaWiFi)

如果您关心它是通过 wifi 进行的并且

(netStatus==ReachableViaWWAN)

如果您关心它是通过 WWAN 进行的

关于iphone - 使用可达性互联网*或*本地 WiFi?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2647855/

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