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

标签 iphone networking reachability

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

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

我进入 if 语句,标志最终为 0 (kSCNetworkReachabilityFlagsTransientConnection)。这到底是什么意思?有人经历过这种情况吗?有人知道解决方法或修复方法吗?已经玩了好几个小时了...

最佳答案

我发现这是由于提供带有协议(protocol)说明符的主机名(例如 http://hostname 而不仅仅是 hostname)而引起的。尝试仅指定主机名本身,看看这是否可以解决您的问题。

关于iphone - 即使无线可用,SCNetworkReachabilityGetFlags 也会返回 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4889472/

相关文章:

ios - 编译为 iOS 8 应用程序框架的 C 代码随机崩溃

iphone - UIScrollView 未检测到折叠后的触摸

iphone - iOS:iOS 4.3 和 5.0 之间的不同 addSubview 行为

iphone - 让本地通知振动但不显示文本

java - 如何像种子一样通过全局互联网发送数据?

ios - 使用 SWIFT 检查 IP 地址可达性

swift - 我怎样才能在另一个快速类(class)中结束刷新?

networking - 防火墙如何知道不阻止响应数据包?

java - 重用 ObjectInputStream 会抛出 StreamCorruptedException

ios - 如果已连接互联网,我如何关闭 View Controller