Ниже приведен метод делегата, который я использовал, и даже несмотря на то, что он вызывается, 'queryElement' присваивается значение nil. Хотя у вошедшего в систему пользователя много контактов.
-(BOOL)xmppStream:(XMPPStream *)sender didReceiveIQ:(XMPPIQ *)iq
{
NSXMLElement *queryElement = [iq elementForName: @"query" xmlns: @"jabber:iq:roster"];
NSMutableArray *ArrayUsers = [[NSMutableArray alloc]init];
if (queryElement)
{
NSArray *itemElements = [queryElement elementsForName: @"item"];
[ArrayUsers removeAllObjects];
for (int i=0; i<[itemElements count]; i++)
{
NSString *jid=[[[itemElements objectAtIndex:i] attributeForName:@"jid"] stringValue];
[ArrayUsers addObject:jid];
}
}
NSLog(@"users: %@",ArrayUsers);
return NO;
}
Любой, кто мог бы помочь получить список приятелей (как онлайн, так и офлайн)?
Метод XMPPFramework:
- (void)xmppStream:(XMPPStream *)sender didReceivePresence:(XMPPPresence *)presence
вызывается каждый раз, когда приятель подключается к сети или выходит из сети. Но нужен полный список друзей.