ios - Quickblox iOS : chatRoomDidEnter called multiple times

标签 ios objective-c iphone chat quickblox

这是我连续第三个 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/

相关文章:

ios - 我的应用程序正在请求 “Have offline access” 的权限,为什么?

ios - 为什么我们需要在成功解雇转换后从容器 View 中删除 toView?

iphone - 如何自定义 UITableViewCell 而不会在 UITableView 中出现任何卡住

iphone - 如何在 iOS 中收到横幅通知?

ios - 如何在 Swift 中安全地解压选项(AlamoFire 响应对象)

android - ios, android, windows 移动平台上的蓝牙 sdk

ios - Xcode 错误 - 配置文件不包含 com.apple.developer.icloud-container-environment 权利

ios - 如何在呈现 Controller 的顶部显示 UIAlertController

objective-c - 我的应用程序的 [NSHTTPCookieStorage setCookie] 破坏了浏览器的 cookie?

iOS - 错误的围栏设置 - 我们正在设置一个潜在的可延迟交易,而我们已经在跟踪动画围栏