对于我的IOS聊天应用程序我正在使用Openfire Server,我正在检索特定的用户朋友列表,但现在我想从Openfire Server 检索所有注册用户.请帮助我,并提前感谢.
嗨,大家终于通过使用用户名搜索用户找到了替代答案.
1.对于每个联系人我都在这样添加emailid username @ domainname.
2.在地方搜索字符串中,如果我们使用域名,那么我们将获得所有注册用户.
//Request - (void)getDetailsofRegisteredUser { //To Search Peticular User either by using their name, email or username NSString *userBare1 = [[[[self appDelegate] xmppStream] myJID] bare]; NSXMLElement *query = [NSXMLElement elementWithName:@"query"]; [query addAttributeWithName:@"xmlns" stringValue:@"jabber:iq:search"]; NSXMLElement *x = [NSXMLElement elementWithName:@"x" xmlns:@"jabber:x:data"]; [x addAttributeWithName:@"type" stringValue:@"submit"]; NSXMLElement *formType = [NSXMLElement elementWithName:@"field"]; [formType addAttributeWithName:@"type" stringValue:@"hidden"]; [formType addAttributeWithName:@"var" stringValue:@"FORM_TYPE"]; [formType addChild:[NSXMLElement elementWithName:@"value" stringValue:@"jabber:iq:search" ]]; NSXMLElement *userName = [NSXMLElement elementWithName:@"field"]; [userName addAttributeWithName:@"var" stringValue:@"Username"]; [userName addChild:[NSXMLElement elementWithName:@"value" stringValue:@"1" ]]; NSXMLElement *name = [NSXMLElement elementWithName:@"field"]; [name addAttributeWithName:@"var" stringValue:@"Name"]; [name addChild:[NSXMLElement elementWithName:@"value" stringValue:@"1"]]; NSXMLElement *email = [NSXMLElement elementWithName:@"field"]; [email addAttributeWithName:@"var" stringValue:@"Email"]; [email addChild:[NSXMLElement elementWithName:@"value" stringValue:@"1"]]; //Here in the place of SearchString we have to provide registered user name or emailid or username(if it matches in Server it provide registered user details otherwise Server provides response as empty) NSXMLElement *search = [NSXMLElement elementWithName:@"field"]; [search addAttributeWithName:@"var" stringValue:@"search"]; [search addChild:[NSXMLElement elementWithName:@"value" stringValue:[NSString stringWithFormat:@"%@", SearchString]]]; [x addChild:formType]; [x addChild:userName]; [x addChild:name]; [x addChild:email]; [x addChild:search]; [query addChild:x]; NSXMLElement *iq = [NSXMLElement elementWithName:@"iq"]; [iq addAttributeWithName:@"type" stringValue:@"set"]; [iq addAttributeWithName:@"id" stringValue:@"searchByUserName"]; [iq addAttributeWithName:@"to" stringValue:[NSString stringWithFormat:@"search.%@",DOMAIN_NAME]]; [iq addAttributeWithName:@"from" stringValue:userBare1]; [iq addChild:query]; [[[self appDelegate] xmppStream] sendElement:iq]; } //We will get response here - (BOOL)xmppStream:(XMPPStream *)sender didReceiveIQ:(XMPPIQ *)iq { DDLogVerbose(@"%@: %@", THIS_FILE, THIS_METHOD); NSLog(@"searched format %@", iq); }