QBChat/XEP-0045/ автоматически покидать комнату после возвращения из фонового режима? (Быстрый блок)

При выходе из фонового режима наше приложение автоматически повторно подключается к серверу чата и входит в комнату.

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

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


person Mario Frade    schedule 10.01.2014    source источник
comment
Вы используете АРК или нет?   -  person Rubycon    schedule 11.01.2014


Ответы (1)


Я рекомендую использовать следующую логику:

@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

person Rubycon    schedule 13.01.2014