我现在已经挣扎了两天。 https://stackoverflow.com/questions/17077345/reachability-of-ip-address
最后我找到了解决方案,所以如果有人遇到同样的问题,请参阅下面的答案。
答案 0 :(得分:1)
经过数天的研究,我找到了解决方案。 瓶颈是即使在“监听”模式下调用当前的可达性状态,当使用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/