2016-03-24 10 views
0

Ich entwickle chat-basierte Anwendung mit XMPP. Ich bleibe dran, um Benachrichtigungen von Usern online oder offline zu bekommen.Wie erhält man die Verfügbarkeitsbenachrichtigung des Benutzers in iOs?

Die unten angegebene Methode wird nicht aufgerufen, wenn ein Freund eines Freundes online oder offline wechselt.

- (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"]]; 
     } 
    } 
} 

Bitte machen Sie mir oder mich leiten, wie mit - (void)xmppStream:(XMPPStream *)sender didReceivePresence:(XMPPPresence *)presence

Grüße zu behandeln,

Antwort

1

Ich glaube, Sie brauchen Präsenz folgenden Code senden mit:

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

OR

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

So nach, dass ich die folgende Methode erraten genannt:

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