为什么IP地址的可达性永远不会被回调?

时间:2013-06-14 02:24:37

标签: ios ip automatic-ref-counting ip-address reachability

我现在已经挣扎了两天。 https://stackoverflow.com/questions/17077345/reachability-of-ip-address


最后我找到了解决方案,所以如果有人遇到同样的问题,请参阅下面的答案。

1 个答案:

答案 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/