iOS 8上的可达性是否延迟?

5
苹果的可达性类Reachability,在用户将设备置于飞行模式时,通知似乎会有相当大的延迟。我看到用户进入飞行模式和实际通知之间大约有5秒钟的时间差。
是否有更快的通知方式?或者在这个操作系统中有新的方法吗?

五秒钟很不错,以我个人看法。 - Undo
1
如果在网络调用开始失败之前就做出反应,那就不够好了。 - cynistersix
1个回答

0

我建立了一个示例,它轮询连接性而不是依赖通知。因此,通过简单地使用可达性示例并检查连接性,您可以确定是否仍然连接。

- (NetworkStatus)currentReachabilityStatus
{
    NSAssert(_reachabilityRef != NULL, @"currentNetworkStatus called with NULL SCNetworkReachabilityRef");
    NetworkStatus returnValue = NotReachable;
    SCNetworkReachabilityFlags flags;

    if (SCNetworkReachabilityGetFlags(_reachabilityRef, &flags))
    {
        if (_alwaysReturnLocalWiFiStatus)
        {
            returnValue = [self localWiFiStatusForFlags:flags];
        }
        else
        {
            returnValue = [self networkStatusForFlags:flags];
        }
    }

    return returnValue;
}

这样你就可以知道连接状态,而不是希望及时收到通知。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接