我已经为此苦苦挣扎了两天。 https://stackoverflow.com/questions/17077345/reachability-of-ip-address
最后我找到了解决办法,所以如果有人有同样的问题,请看下面的答案。
最佳答案
经过几天的研究,我找到了解决方案。 瓶颈是即使在“监听”模式下,当使用 IP 地址初始化时(如下面的一个片段,没有其余应用程序上下文)调用当前可达性状态。
if (isAddressReachability)
{
dispatch_async(dispatch_queue_create("com.eppz.reachability.workaround", NULL), ^
{
SCNetworkReachabilityFlags flags;
if (SCNetworkReachabilityGetFlags(self.reachabilityRef, &flags))
{
//'Manual' invocation of callback functionality.
dispatch_async(dispatch_get_main_queue(), ^ //Dispatch delegate callback on the main thread.
{
[self parseFlags:flags];
[self.delegate reachabilityChanged:self];
});
}
});
}
更多详细信息:http://eppz.eu/blog/reachability-with-ip-address-doesnt-work/
关于ios - 为什么 IP 地址的可达性永远不会被回调?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17100180/