iphone xmppframework如何列出我的特定域的所有在线用户

Nav*_*afi 3 iphone xmppframework

我正在使用xmppframework for iPhone.我想知道如何查看我的特定域的所有可用用户?

谢谢

Sur*_*h.D 5

- (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, @"gmail.com"]];

        } else if ([presenceType isEqualToString:@"unavailable"]) {

            [_chatDelegate buddyWentOffline:[NSString stringWithFormat:@"%@@%@", presenceFromUser, @"gmail.com"]];

        }

    }
}
Run Code Online (Sandbox Code Playgroud)

将此方法用于AppDelegate文件.

在此使用newBuddyOnline方法创建@protocol.

在你想要显示列表的地方,你只需要使用这些方法,..

- (void)newBuddyOnline:(NSString *)buddyName {

    [onlineBuddies addObject:buddyName];
    [self.TableView reloadData];
}

- (void)buddyWentOffline:(NSString *)buddyName {
    [onlineBuddies removeObject:buddyName];
    [self.TableView reloadData];
}
Run Code Online (Sandbox Code Playgroud)