Как удалить или выйти из MUC в XMPP - PullRequest
0 голосов
/ 05 октября 2018

В настоящее время я делаю приложение чата, и мне необходимо удалить определенный групповой чат.Для удаления группы я попробовал приведенное ниже решение, но оно не работает. Пожалуйста, проверьте этот код

    -(void)ExitGroup:(NSString *)Roomjdi Removeuserid:(NSString *)Userid {
    {
        XMPPJID *roomJID = [XMPPJID jidWithString:Roomjdi];
        XMPPRoomMemoryStorage *roomMemoryStorage = [[XMPPRoomMemoryStorage alloc] init];
        XMPPRoom *xmppRooms = [[XMPPRoom alloc]
                               initWithRoomStorage:roomMemoryStorage
                               jid:roomJID
                               dispatchQueue:dispatch_get_main_queue()];

        [xmppRooms removeDelegate:self delegateQueue:dispatch_get_main_queue()];
        [self deactivate:roomJID];
        [self leaveRoom:roomJID];

    }

- (void)leaveRoom:(XMPPJID *)myRoomJID
{
   // dispatch_block_t block = ^{ @autoreleasepool {

        //XMPPLogTrace();

        // <presence type='unavailable' to='darkcave@chat.shakespeare.lit/thirdwitch'/>

    XMPPPresence *presence = [XMPPPresence presence];
    [presence addAttributeWithName:@"to" stringValue:[myRoomJID full]];
    [presence addAttributeWithName:@"type" stringValue:@"unavailable"];
    [xmppStream sendElement:presence];
    [xmppRoom leaveRoom];
    [xmppRoom deactivate];
    [xmppRoom  removeDelegate:self];
}

после того, как я выполню этот метод, но в ejabbared отобразить онлайн-пользователя в списке групп. Пожалуйста, скажите мне, где я ошибаюсь.

...