从后台返回时,我们的应用会自动重新连接到聊天服务器并进入房间。
一切顺利,聊天室历史记录已成功加载。但是我们突然收到“QBChat / XEP-0045 / leavRoom”并且因为“房间没有加入”而无法向房间发送消息。
有关为什么会出现这种行为的想法?
答案 0 :(得分:0)
我建议使用下一个逻辑:
@property (strong, nonatomic) QBChatRoom *testRoom;
<强>加入强>
[[QBChat instance] setDelegate:self];
[[QBChat instance] createOrJoinRoomWithName:@"myRoom" membersOnly:NO persistent:YES];
#pragma mark -
#pragma mark QBChatDelegate
- (void)chatRoomDidEnter:(QBChatRoom *)room{
// retain current room
self.testRoom = room;
}
<强>离开强>
[[QBChat instance] leaveRoom:testRoom];
#pragma mark -
#pragma mark QBChatDelegat
- (void)chatRoomDidLeave:(NSString *)roomName{
// release room
self.testRoom = nil;
}
我认为您的问题是 self.testRoom = nil; ,您不会这样做。但你应该。 试试这个建议。
http://quickblox.com/developers/SimpleSample-chat_users-ios#Joining.2Fleaving_rooms