iOS XMPP通过用户名search用户

我第一次在iOS上使用XMPP框架。 任何人都可以帮助使用他们的用户名search用户。

我已经尝试了下面的链接描述的方式。 但没有运气。

iOS XMPP框架获取所有注册用户

提前致谢。

我终于明白了 我做了我自己。

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"]]; NSXMLElement *search = [NSXMLElement elementWithName:@"field"]; [search addAttributeWithName:@"var" stringValue:@"search"]; [search addChild:[NSXMLElement elementWithName:@"value" stringValue:searchField]]; [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.%@",[self appDelegate].hostName ]]; [iq addAttributeWithName:@"from" stringValue:userBare1]; [iq addChild:query]; [[[self appDelegate] xmppStream] sendElement:iq]; 

正确的答案。

下面的代码

 [iq addAttributeWithName:@"to" stringValue:[NSString stringWithFormat:@"search.%@",[self appDelegate].hostName ]]; 

手段

 XMPPJID *myJID = [[[self appdelegate] xmppStream] myJID]; [iq addAttributeWithName:@"to" stringValue:[NSString stringWithFormat:@"search.%@",myJID.domain]];