我使用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){
//...
}
答案 0 :(得分:0)
通过在主线程中设置回调来解决问题,因为如果线程已经死了,它将永远不会回调。