当用户将设备置于飞行模式时,Apple Reachability示例代码中的Reachability类似乎会严重延迟。我看到用户进入飞机模式与实际通知之间大约有5秒的差距。
是否有更快捷的方式获取通知?或者这个操作系统的新方法?
答案 0 :(得分:0)
我构建了一个轮询连接的示例,而不是依赖于通知。因此,只需使用Reachability样本并检查连接性,即可确定您是否仍然连接。
- (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;
}
通过这种方式,您可以了解连接状态,而不是希望按时获取通知。