2015-11-30 2 views
0

В настоящее время я присоединяюсь к чату, подобному этому.Как подключиться к чату с указанным количеством сообщений

_xmppRoom = [[XMPPRoom alloc] initWithRoomStorage:_roomStorage 
                  jid:roomJID 
               dispatchQueue:dispatch_get_main_queue()]; 

    [_xmppRoom activate:[self appDelegate].xmppStream]; 
    [_xmppRoom addDelegate:self 
      delegateQueue:dispatch_get_main_queue()]; 

    NSString *profileId = @"123456"; 

    NSString *myPassword = [[NSUserDefaults standardUserDefaults] stringForKey:@"userPassword"]; 
    [[NSUserDefaults standardUserDefaults] synchronize]; 

    [_xmppRoom joinRoomUsingNickname:profileId history:nil password:myPassword]; 

Я хочу получить только определенное количество сообщений в виде истории чата. В настоящее время он извлекает все сообщения сразу, что вызывает проблемы с длинной историей чата.

Не могли бы вы помочь мне?

ответ

0

Вот ответ, который я нашел. Вы должны отправить XML-элемент с указанными максимальными строфами.

Вот код.

XMPPJID *roomJID = [XMPPJID jidWithString:roomID]; 
    _xmppRoom = [[XMPPRoom alloc] initWithRoomStorage:_roomStorage 
                  jid:roomJID 
               dispatchQueue:dispatch_get_main_queue()]; 

    [_xmppRoom activate:[self appDelegate].xmppStream]; 
    [_xmppRoom addDelegate:self 
      delegateQueue:dispatch_get_main_queue()]; 

    NSString *profileId = @"123456"; 

    NSString *myPassword = [[NSUserDefaults standardUserDefaults] stringForKey:@"userPassword"]; 
    [[NSUserDefaults standardUserDefaults] synchronize]; 


    NSXMLElement *history = [NSXMLElement elementWithName:@"history"]; 
    [history addAttributeWithName:@"maxstanzas" stringValue:@"10"]; 
    [_xmppRoom joinRoomUsingNickname:profileId history:history password:myPassword]; 
Смежные вопросы