0
當從後臺回來時,我們的應用會自動重新連接到聊天服務器並進入房間。從backbround回來後QBChat/XEP-0045/leavRoom會自動恢復嗎? (Quickblox)
一切順利,聊天室歷史記錄已成功載入。但突然之間,我們收到「QBChat/XEP-0045/leavRoom」,因爲「房間未加入」而無法將消息發送到房間。
關於爲什麼這種行爲符合要求的任何想法?
當從後臺回來時,我們的應用會自動重新連接到聊天服務器並進入房間。從backbround回來後QBChat/XEP-0045/leavRoom會自動恢復嗎? (Quickblox)
一切順利,聊天室歷史記錄已成功載入。但突然之間,我們收到「QBChat/XEP-0045/leavRoom」,因爲「房間未加入」而無法將消息發送到房間。
關於爲什麼這種行爲符合要求的任何想法?
我建議使用下一個邏輯:
@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.te stRoom = nil;,你不這樣做。但你應該。 試試這個建議。
http://quickblox.com/developers/SimpleSample-chat_users-ios#Joining.2Fleaving_rooms
您是否使用ARC? –
是的,我們使用ARC。 –