2017-02-14 37 views
1

我在xmppStream上激活xmppReconnect,但如果我没有网络连接,那么代理方法reconnect不会被调用,因此即使网络再次可用,也不会尝试连接。XmppReconnect的代理方法不叫

_xmppReconnect = [[XMPPReconnect alloc] init]; 
[_xmppReconnect activate:_xmppStream]; 
[_xmppReconnect addDelegate:self delegateQueue:dispatch_get_main_queue()]; 

- (BOOL)xmppReconnect:(XMPPReconnect *)sender shouldAttemptAutoReconnect:(SCNetworkReachabilityFlags)reachabilityFlags 
{ 
    NSLog(@"shouldAttemptAutoReconnect:%u",reachabilityFlags); 
    return YES; 
} 

- (void)xmppReconnect:(XMPPReconnect *)sender didDetectAccidentalDisconnect:(SCNetworkReachabilityFlags)connectionFlags 
{ 
    NSLog(@"didDetectAccidentalDisconnect:%u",connectionFlags); 
} 

回答

0

通过使用Reachability可以肯定的得到通知网络状态的变化&从而可靠地执行你的操作。
阅读:Determining Reachability