2016-03-24 7 views
0

Я разрабатываю приложение для чата с использованием XMPP. Я застрял, чтобы получить уведомление пользователя в режиме онлайн или офлайн.Как получить уведомление о доступности пользователя в iOS?

Ниже метод не вызывается, когда любой друг-реестр выходит в интернет или офлайн.

- (void)xmppStream:(XMPPStream *)sender didReceivePresence:(XMPPPresence *)presence 
{ 

    NSString *presenceType = [presence type]; // online/offline 
    NSString *myUsername = [[sender myJID] user]; 
    NSString *presenceFromUser = [[presence from] user]; 
    if (![presenceFromUser isEqualToString:myUsername]) 
    { 
     if ([presenceType isEqualToString:@"available"]) { 
      // [_chatDelegate newBuddyOnline:[NSString stringWithFormat:@"%@@%@", presenceFromUser, @"chat.denederlandsewateren.nl"]]; 
     } else if ([presenceType isEqualToString:@"unavailable"]) { 
      // [_chatDelegate buddyWentOffline:[NSString stringWithFormat:@"%@@%@", presenceFromUser, @"chat.denederlandsewateren.nl"]]; 
     } 
    } 
} 

Пожалуйста, предложите мне или направить меня, как бороться с - (void)xmppStream:(XMPPStream *)sender didReceivePresence:(XMPPPresence *)presence

С уважением,

ответ

1

Я думаю, что вам нужно отправить присутствие, используя следующий код:

NSXMLElement *presence = [NSXMLElement elementWithName:@"presence"]; 
[xmppStream sendElement:presence]; 

ИЛИ

XMPPPresence *presence = [XMPPPresence presence]; 
    [[self xmppStream] sendElement:presence]; 

Поэтому после этого я предполагаю, что следующий метод называется:

-(void)xmppStream:(XMPPStream *)sender didReceivePresence:(XMPPPresence *)presence