在我的應用程序中,我需要獲得所有的用戶名從OpenFire。從OpenFire獲取所有用戶名和XMPP
我用下面的代碼,但它不給零數據。
和我的事情是我的didReceiveIQ方法有問題,但使用第一次XMPP,所以不要得到實際問題。
我獲取數據的代碼是
- (void)getAllRegisteredUsers {
NSError *error = [[NSError alloc] init];
NSXMLElement *query = [[NSXMLElement alloc] initWithXMLString:@"<query xmlns='http://jabber.org/protocol/disco#items' node='all users'/>"
error:&error];
XMPPIQ *iq = [XMPPIQ iqWithType:@"get"
to:[XMPPJID jidWithString:[NSString stringWithFormat:@"Domain Name with jid"]]
elementID:[xmppStream generateUUID] child:query];
[xmppStream sendElement:iq];
}
- (BOOL)xmppStream:(XMPPStream *)sender didReceiveIQ:(XMPPIQ *)iq
{
NSXMLElement *queryElement = [iq elementForName: @"query" xmlns: @"http://jabber.org/protocol/disco#items"];
NSLog(@"queryelement %@",queryElement);
if (queryElement) {
NSLog(@"query in if");
NSArray *itemElements = [queryElement elementsForName: @"item"];
NSMutableArray *mArray = [[NSMutableArray alloc] init];
for (int i=0; i<[itemElements count]; i++) {
NSString *jid=[[[itemElements objectAtIndex:i] attributeForName:@"jid"] stringValue];
[mArray addObject:jid];
NSLog(@"User in OpenFire = %@",jid);
}
NSLog(@"mArray = %@",mArray);
}
return NO;
}
任何形式的幫助表示讚賞....
你能告訴我哪個XEP擴展有這個節,通過它你試圖獲得所有註冊用戶。 –
我在github的應用程序中包含了大部分內容,但對其不甚瞭解。但哪一個是最需要的,因爲你知道告訴我,那麼我會告訴你,一個是否包含。但我得到** mArray **零。 – Sam