2014-01-10 1 views
0

При возврате с фона наше приложение автоматически подключается к серверу чата и входит в комнату.QBChat/XEP-0045/leavRoom автоматически после возвращения с backbround? (Quickblox)

Все идет хорошо, и история в чате загружается успешно. Но внезапно мы получаем «QBChat/XEP-0045/leavRoom» и не можем отправлять сообщения в комнату, потому что «комната не соединена».

Любые мысли о том, почему такое поведение наблюдается?

+0

Вы используете ARC или нет? –

+0

Да, мы используем ARC. –

ответ

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.te stRoom = nil;, вы этого не делаете. Но ты должен. Попробуйте это предложение.

http://quickblox.com/developers/SimpleSample-chat_users-ios#Joining.2Fleaving_rooms