我有一个使用 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/