【发布时间】:2014-07-27 18:00:05
【问题描述】:
以下是我使用的委托方法,即使它被调用,'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
每次好友上线或下线时都会调用。但是需要一份完整的好友名单。
【问题讨论】:
标签: ios ejabberd xmppframework