即使无线可用,SCNetworkReachabilityGetFlags也会返回0

jjx*_*tra 4 iphone networking reachability

我有一个使用Apples可访问性代码的应用程序.当我退出应用程序时,打开飞行模式,返回到应用程序,我正确地收到一条消息,指出没有可用的连接.如果我回去关闭飞行模式并返回应用程序,我仍然得到没有连接可用的消息.具体问题代码是这样的:

NetworkStatus status = kNotReachable;
if (SCNetworkReachabilityGetFlags(reachabilityRef, &flags))
{
    status = [self networkStatusForFlags: flags];
    return status;
}
Run Code Online (Sandbox Code Playgroud)

我进入if语句,标志最终为0(kSCNetworkReachabilityFlagsTransientConnection).这究竟是什么意思?有没有人经历过这个,有没有人知道解决方法或修复?几个小时一直在玩它......

jha*_*ott 10

我发现这是由于提供了一个带有协议说明符的主机名(例如http://hostname而不仅仅是hostname).尝试单独指定主机名,看看这是否可以解决您的问题.