0

目前我正在制作聊天应用程序,我需要删除特定的群聊。

要删除组,我尝试了 2 个解决方案,但都不起作用。

我应用的第一个解决方案如下:-

xmppRoomStorage = [[XMPPRoomMemoryStorage alloc] init];

XMPPJID *roomJid = [XMPPJID jidWithString:self.strnameofgroup];

_xmppRoom = [[XMPPRoom alloc] initWithRoomStorage:xmppRoomStorage jid:roomJid];

[_xmppRoom removeDelegate:self delegateQueue:dispatch_get_main_queue()];

[_xmppRoom deactivate];

[_xmppRoom leaveRoom];

我应用的第二个解决方案如下:-

第一次获取群聊中的所有成员,然后所有成员手动离开群聊,但它也不起作用。

NSXMLElement *query = [NSXMLElement elementWithName:@"query" xmlns:@"http://jabber.org/protocol/muc#admin"];

 NSXMLElement *item = [NSXMLElement elementWithName:@"item"];

 [item addAttributeWithName:@"affiliation" stringValue:@"member"];

 [item addAttributeWithName:@"jid" stringValue:@"jid to remove"];

 [query addChild:item];

XMPPIQ *RemoveUser = [[XMPPIQ alloc] initWithType:@"set" to:[XMPPJID jidWithString:[NSString stringWithFormat:@"%@@%@",dialuser2,kSIPDomain]] elementID:@"some random id" child:query];

  [SharedAppDelegate.xmppStream sendElement:RemoveUser];

因此,如果有任何删除特定组的解决方案,请帮助我。

谢谢

4

1 回答 1

1

你房间的配置是什么?它是一个持久的房间吗?

如果是,那么房间必须由所有者销毁。

xmppRoom.destroyRoom()

否则,如果所有成员都离开,房间将被自动删除。

于 2017-02-03T22:32:47.553 回答