我的iOS应用目前正在使用XMPPFramework进行聊天。但我需要它来检查我的联系人列表中是否存在用户给定的xmpp用户名。任何关于在哪里看的想法将不胜感激。
答案 0 :(得分:1)
您必须了解XMPPRoster
中XMPPFramework
的工作原理。
如果我发送服务器请求朋友的列表,将发送此结构
<iq id="xxx" type="get">
<query xmlns="jabber:iq:roster"></query>
</iq>
“iq”表示您向服务器查询某些内容,“查询”是您希望收到的内容。
XMPPRosterMemoryStorage *rosterStorate = [[XMPPRosterMemoryStorage alloc] init];
XMPPRoster * roster = [[XMPPRoster alloc] initWithRosterStorage:rosterStorate];
[roster addDelegate:self delegateQueue:dispatch_get_main_queue()];
[roster activate:[self xmppStream]];
[roster fetchRoster];
如果查看fetchRoster
方法,可以在源代码上方找到我所写的查询。
你必须在XMPPRosterMemoryStorageDelegate中定义- (void)xmppRosterDidPopulate:(XMPPRosterMemoryStorage *)sender
方法
祝你好运。