我已经搜索了这个问题的答案,但它并没有真正得到解决,至少没有达到我可以让它发挥作用的地步。
我最初只是检查互联网可达性,使用:
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;我相信其他情况也适用。]