由于缺乏示例,我很困惑,所以我在appDelegate的didFinishLaunching中做到了:

[[AFNetworkReachabilityManager sharedManager] startMonitoring];
bool isThere = [[AFNetworkReachabilityManager sharedManager] isReachable];


尽管网络存在并正常工作,但始终返回false。

两个问题:

1)如果我不希望状态发生变化,是否需要startMonitoring?

2)在阅读isReachable之前您需要做些什么?您需要等待吗?

最佳答案

我知道现在回答已经太迟了。如果有人在寻找这个。

确定网络状态所需的时间很少。
因此,在startMonitoring之后立即调用isReachable将始终返回false。

您可以在setReachabilityStatusChangeBlock内部调用isReachable;

    [[AFNetworkReachabilityManager sharedManager] startMonitoring];
    [[AFNetworkReachabilityManager sharedManager] setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status){
          NSLog(@"status changed");
         //check for isReachable here
    }];

09-19 12:37