如何检索使用中的聊天室成员列表XMPP framework
?
我尝试使用:
- (void)xmppRoom:(XMPPRoom *)sender didFetchMembersList:(NSArray *)items
但它返回一个空数组
如何检索使用中的聊天室成员列表XMPP framework
?
我尝试使用:
- (void)xmppRoom:(XMPPRoom *)sender didFetchMembersList:(NSArray *)items
但它返回一个空数组
这个问题很老,但我最近遇到了这个确切的问题(xmppRoom:didFetchMembersList:
传递了一个空数组)。就我而言,问题是当用户被邀请到房间时,他们将扮演“参与者”的角色和“无”的隶属关系。fetchMembersList
XMPPRoom 中的方法查找具有“成员”从属关系的项目。
您可以像这样更改从属关系:
[xmppRoom editRoomPrivileges:@[[XMPPRoom itemWithAffiliation:@"member" jid:userJID]]];
有关角色和从属关系的详细信息,请参阅XEP-0045。
邀请用户时使用此方法。
-[xmppRoom editRoomPrivileges:@[[XMPPRoom itemWithAffiliation:@"member" jid:userJID]]];
创建 xmpproom 对象并调用以下委托方法后
-(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);
}
}