Ios 可访问性WithHostName不工作

Ios 可访问性WithHostName不工作,ios,xcode,url,reachability,Ios,Xcode,Url,Reachability,我想在调用URL之前确认它是可访问的。我知道reachabilitywhithhostname方法可以帮助我完成这项任务。我使用以下代码了解URL的可访问性。但它不起作用 Reachability *connection = [Reachability reachabilityWithHostName:@"stackoverflow.com"]; [connection startNotifier]; NetworkStatus netStatus = [connection current

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

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

[connection startNotifier];

NetworkStatus netStatus = [connection currentReachabilityStatus];
即使一切正常,
netStatus
始终返回
NotReachable
(表示
0
)值

注意事项:

  • 我不想使用任何其他第三方可达性类
  • 我从
  • 我将上述代码行放在示例项目的
    viewDidLoad
    方法中
  • 我想知道的最后一件奇怪的事情是,如果我在第一行设置一个断点并通过点击Xcode中的按钮一步一步地运行代码,
    netStatus
    返回正确的值

需要帮助!!困惑

像下面这样使用可达性:


将代码移到显示的位置,然后尝试为url添加前缀www。还可以尝试使用其他地址(如果一个站点由于防DDOS保护每次都会抛出请求超时)。是的,在http前面加前缀,然后尝试在end@user3344236已经使用了www/http/https前缀并尝试了其他URL。什么都不管用。总是抛出零。@Injectios似乎我们不应该将http/https与主机名一起使用。我不记得应该做什么,但我记得我也有同样的问题,你是否尝试将斜杠放在末尾?我只想使用Apple的可达性类。:'(
    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];