聊天室成员列表
如何检索使用XMPP framework
的聊天室成员列表?
我试过使用:
- (void)xmppRoom:(XMPPRoom *)sender didFetchMembersList:(NSArray *)items
但是它返回一个空数组
这个问题是旧的,但我最近遇到了这个确切的问题( xmppRoom:didFetchMembersList:
传递一个空的数组)。 在我的情况下,问题是,当用户被邀请到房间,他们将有一个“参与者”的angular色和“none”的从属。 fetchMembersList
中的fetchMembersList
方法将查找具有“member”属性的项目。
你可以像这样改变从属关系:
[xmppRoom editRoomPrivileges:@[[XMPPRoom itemWithAffiliation:@"member" jid:userJID]]];
有关angular色和从属关系的详细信息,请参阅XEP-0045 。
邀请用户时使用此方法。
-[xmppRoom editRoomPrivileges:@[[XMPPRoom itemWithAffiliation:@"member" jid:userJID]]];
创buildxmpproom对象并调用以下委托方法之后
-(void)xmppRoomDidJoin:(XMPPRoom *)sender{ [sender fetchMembersList]; } - (void)xmppRoom:(XMPPRoom *)sender didFetchMembersList:(NSArray *)items{ NSLog(@"print user list=====%@",items); for (NSXMLElement *xmlItem in items) { NSString *jid = [[xmlItem attributeForName:@"jid"]stringValue]; NSLog(@"print user jid=====%@",jid); } }