如何在 iOS 中使用 XMPP 删除或退出特定群聊
How to delete or Exit Particular Groupchat using XMPP in iOS
目前我正在制作聊天应用程序,我需要删除特定的群聊。
为了删除群组,我尝试了 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];
因此,如果有任何删除特定组的解决方案,请帮助我。
谢谢
您的房间配置如何?是固定房间吗?
如果是,那么这个房间一定是被主人破坏了
xmppRoom.destroyRoom()
否则,如果所有成员都离开,房间将被自动删除。
目前我正在制作聊天应用程序,我需要删除特定的群聊。
为了删除群组,我尝试了 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];
因此,如果有任何删除特定组的解决方案,请帮助我。
谢谢
您的房间配置如何?是固定房间吗?
如果是,那么这个房间一定是被主人破坏了
xmppRoom.destroyRoom()
否则,如果所有成员都离开,房间将被自动删除。