如何在网络扩展中使用Reachability,它永远不会回调

时间:2017-06-14 09:37:51

标签: ios objective-c

我使用Reachability演示来检查wifi连接,它工作正常,现在,我想在网络扩展中使用它

设置回调是可以的,但是即使网络连接也会发生回调。

SCNetworkReachabilityContext context = {0, (__bridge void *)(self), NULL, NULL, NULL};
if (SCNetworkReachabilitySetCallback(_reachabilityRef, ReachabilityCallback, &context)) // return YES {
    if (SCNetworkReachabilityScheduleWithRunLoop(_reachabilityRef, CFRunLoopGetCurrent(), kCFRunLoopDefaultMode)) { //return YES
    //...
    }
}

永远不要这样说:

static void ReachabilityCallback(SCNetworkReachabilityRef target, SCNetworkReachabilityFlags flags, void* info){
    //...
}

1 个答案:

答案 0 :(得分:0)

通过在主线程中设置回调来解决问题,因为如果线程已经死了,它将永远不会回调。