这是我连续第三个 Quickblox 问题,我希望有人回答我。
像往常一样,Quickblox 的文档再次让我感到困惑。
我正在使用以下代码创建/加入房间:
[[QBChat instance] createOrJoinRoomWithName:roomName membersOnly:NO persistent:YES];
登录后,当我调用此方法时,将调用以下委托(delegate):
- (void)chatRoomDidEnter:(QBChatRoom *)room
然而,这会再次调用 - 可能是在其他用户调用上述语句时。
为什么,又一次,为什么这样的事情不断发生? 它不是仅供当前用户使用吗? 委托(delegate)方法的文档说:
Fired when you did enter to room
那么为什么会出现这种意外行为?
我还不断收到带有以下日志的旧消息:
<Warning>: QBChat/didReceiveMessage: <message xmlns="jabber:client" id="1407872706.569180" from="11447_en@muc.chat.quickblox.com/1233710" to="1233710-11447@chat.quickblox.com/56FEC1BB-71E8-4CDD-8ED7-33AB8C63AFAF" type="groupchat"><body>Body Text</body><delay xmlns="urn:xmpp:delay" from="1233710-11447@chat.quickblox.com/89F03E1A-8FB0-47A4-9565-39D78C90E3C7" stamp="2014-08-12T19:45:10Z"/><x xmlns="jabber:x:delay" from="1233710-11447@chat.quickblox.com/89F03E1A-8FB0-47A4-9565-39D78C90E3C7" stamp="20140812T19:45:10"/></message>
令人惊讶的是,这不是以下委托(delegate)的一部分:
- (void)chatDidReceiveMessage:(QBChatMessage *)message
这非常令人困惑……他们什么时候才能把事情搞定?
最佳答案
为什么不使用 Chat 2.0 的东西?
http://quickblox.com/developers/SimpleSample-chat_users-ios
这是构建聊天应用程序的现代方法
它提供了比创建群聊更好的方式
[[QBChat instance] createOrJoinRoomWithName:roomName membersOnly:NO persistent:YES];
关于ios - Quickblox iOS : chatRoomDidEnter called multiple times,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26660707/