AFNetworkReachabilityManager说没有网络 [英] AFNetworkReachabilityManager says no network
问题描述
由于缺少示例,我很困惑,所以我在appDelegate的didFinishLaunching中做了这个:
I'm confused due to lack of examples, so I did this in my appDelegate's didFinishLaunching:
[[AFNetworkReachabilityManager sharedManager] startMonitoring];
bool isThere = [[AFNetworkReachabilityManager sharedManager] isReachable];
尽管网络在那里工作,但总是返回false。
And that always returns false, in spite of the network being there and working.
两个问题:
1)如果我不是在寻找状态变化,我是否需要startMonitoring?
1) if I'm not looking for changes in status, do I need startMonitoring?
2)在阅读isReachable之前你需要做些什么吗?你需要等待吗?
2) is there anything you need to do before reading isReachable? Do you need to wait?
推荐答案
我知道现在回答为时已晚。如果有人在寻找这个。
I know it's too late to answer. If anybody looking for this.
确定网络状态只需要很少的时间。
因此,在startMonitoring之后立即调用 isReachable 将始终返回 false 。
Determining network status requires little time. So, calling isReachable right after startMonitoring will always return false.
您可以致电 isReachable 在 setReachabilityStatusChangeBlock ;
[[AFNetworkReachabilityManager sharedManager] startMonitoring];
[[AFNetworkReachabilityManager sharedManager] setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status){
NSLog(@"status changed");
//check for isReachable here
}];
这篇关于AFNetworkReachabilityManager说没有网络的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!