XMPPFramework - ' didReceiveMessage'收到消息时调用两次

时间:2014-07-05 10:02:30

标签: ios xmpp xmppframework

每当我收到任何新消息时,这两种方法都会被调用两次。

- (BOOL)xmppStream:(XMPPStream *)sender didReceiveIQ:(XMPPIQ *)iq

- (void)xmppStream:(XMPPStream *)sender didReceiveMessage:(XMPPMessage *)message

我正在向服务器发送请求以使用以下代码获取我的名单。

NSXMLElement *query = [NSXMLElement elementWithName:@"query" xmlns:@"jabber:iq:roster"];
XMPPIQ *iq = [XMPPIQ iq];
[iq addAttributeWithName:@"id" stringValue:@"buddyRequest"];
[iq addAttributeWithName:@"to" stringValue:@"54.186.107.171"];
[iq addAttributeWithName:@"type" stringValue:@"get"];
[iq addChild:query];
[self.xmppStream sendElement:iq];

有人可以向我指出问题所在吗?

谢谢。

1 个答案:

答案 0 :(得分:3)

我认为你将委托设置为XMPPStream两次。移动一个并检查。然后你也得到了两个响应,检查xmppstream对象的值。两者都不同,肯定你设置了两次。