原始地址:XMPPFrameWork IOS 開發(六)聊天室
聊天室
//初始化聊天室XMPPJID *roomJID = [XMPPJID jidWithString:ROOM_JID]; xmppRoom = [[XMPPRoom alloc] initWithRoomStorage:self jid:roomJID]; [xmppRoom activate:xmppStream]; [xmppRoom addDelegate:self delegateQueue:dispatch_get_main_queue()];
//加入聊天室,使用暱稱[xmppRoom joinRoomUsingNickname:@"quack" history:nil];
//擷取聊天室資訊- (void)xmppRoomDidJoin:(XMPPRoom *)sender{[xmppRoom fetchConfigurationForm];[xmppRoom fetchBanList];[xmppRoom fetchMembersList];[xmppRoom fetchModeratorsList];}
如果房間存在,會調用委託
// 收到禁止名單列表 - (void)xmppRoom:(XMPPRoom *)sender didFetchBanList:(NSArray *)items; // 收到好友名單列表 - (void)xmppRoom:(XMPPRoom *)sender didFetchMembersList:(NSArray *)items; // 收到主持人名單列表 - (void)xmppRoom:(XMPPRoom *)sender didFetchModeratorsList:(NSArray *)items;
房間不存在,調用委託
- (void)xmppRoom:(XMPPRoom *)sender didNotFetchBanList:(XMPPIQ *)iqError; - (void)xmppRoom:(XMPPRoom *)sender didNotFetchMembersList:(XMPPIQ *)iqError; - (void)xmppRoom:(XMPPRoom *)sender didNotFetchModeratorsList:(XMPPIQ *)iqError;
離開房間
[xmppRoom deactivate:xmppStream];