在iOS上检测Internet连接的最简单方法?
我知道这个问题似乎是许多其他问题的愚蠢,但是,我觉得这个简单的案例并没有得到很好的解释。来自Android和BlackBerry背景,HTTPUrlConnection
如果没有可用连接,立即发出请求失败。这似乎是完全理智的行为,我很惊讶地发现NSURLConnection
在iOS中没有效仿它。
我知道Apple(以及其他扩展它的人)提供了一个Reachability
帮助确定网络状态的类。我很高兴第一次看到这一点,并完全期望看到类似的东西bool isNetworkAvailable()
,但令我惊讶的是,我发现了一个复杂的系统,需要通知注册和回调,以及一堆看似不必要的细节。肯定有更好的办法。
我的应用程序已经优雅地处理连接失败,包括没有连接。用户会收到失败通知,然后应用程序继续运行。
因此我的要求很简单:我可以在所有HTTP请求之前调用单个同步函数来确定我是否应该打扰实际发送请求。理想情况下,它不需要设置,只返回一个布尔值。
这在iOS上真的不可能吗?