reachabilityWithHostName不起作用

时间:2015-03-19 09:46:53

标签: ios xcode url reachability

我想在确认之前确认URL是可访问/可访问的。我知道reachabilityWithHostName方法可以帮助我完成这项任务。我使用以下代码来了解URL可访问性。但它不起作用。

Reachability *connection = [Reachability reachabilityWithHostName:@"stackoverflow.com"];

[connection startNotifier];

NetworkStatus netStatus = [connection currentReachabilityStatus];

netStatus总是会返回NotReachable(意味着0)值,即使一切都很好。

备注:

  • 我不想使用任何其他第三方可达性课程
  • 我从here
  • 下载了当前的Reachability课程
  • 我将以上代码行放在我的示例项目viewDidLoad方法
  • 我想知道最后一件奇怪的事情,如果我在第一行设置断点并通过点击Xcode中的step over按钮逐步运行代码,netStatus会返回正确的值吗? ?!?!?!

需要帮助!!混淆!!

1 个答案:

答案 0 :(得分:1)

像这里使用可达性:https://github.com/tonymillion/Reachability

    Reachability *connection = [Reachability reachabilityWithHostName:@"stackoverflow.com"];
    connection.reachableBlock = ^(Reachability*reach)
    {
        dispatch_async(dispatch_get_main_queue(), ^{
            NetworkStatus netStatus = [reach currentReachabilityStatus];
            NSLog(@"network status: %ld", netStatus);
        });
    };
    connection.unreachableBlock = ^(Reachability*reach)
    {
        NetworkStatus netStatus = [reach currentReachabilityStatus];
        NSLog(@"network status: %ld", netStatus);
    };

    [connection startNotifier];