从backbround回来后自动QBChat / XEP-0045 / leavRoom? (Quickblox)

时间:2014-01-10 21:45:37

标签: quickblox

从后台返回时,我们的应用会自动重新连接到聊天服务器并进入房间。

一切顺利,聊天室历史记录已成功加载。但是我们突然收到“QBChat / XEP-0045 / leavRoom”并且因为“房间没有加入”而无法向房间发送消息。

有关为什么会出现这种行为的想法?

1 个答案:

答案 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