XMPPRoom *room; // 初始化房间
XMPPRoomCoreDataStorage *rosterstorage = [[XMPPRoomCoreDataStorage alloc] init];
if (rosterstorage==nil) {
NSLog(@"nil");
rosterstorage = [[XMPPRoomCoreDataStorage alloc] init];
}
roomJID = [XMPPJID jidWithString:roomName];
room = [[XMPPRoom alloc] initWithRoomStorage:rosterstorage jid:roomJID
dispatchQueue:dispatch_get_main_queue()]; [room activate:[[XMPPManager sharedManager] xmppStream]]; // 在聊天是显示的昵称
[room joinRoomUsingNickname:jid history:nil]; [room fetchConfigurationForm]; [room addDelegate:self delegateQueue:dispatch_get_main_queue()]; #pragma mark 配置房间为永久房间
-(void)sendDefaultRoomConfig
{ NSXMLElement *x = [NSXMLElement elementWithName:@"x" xmlns:@"jabber:x:data"]; NSXMLElement *field = [NSXMLElement elementWithName:@"field"];
NSXMLElement *value = [NSXMLElement elementWithName:@"value"]; NSXMLElement *fieldowners = [NSXMLElement elementWithName:@"field"];
NSXMLElement *valueowners = [NSXMLElement elementWithName:@"value"]; [field addAttributeWithName:@"var" stringValue:@"muc#roomconfig_persistentroom"]; // 永久属性
[fieldowners addAttributeWithName:@"var" stringValue:@"muc#roomconfig_roomowners"]; // 谁创建的房间 [field addAttributeWithName:@"type" stringValue:@"boolean"];
[fieldowners addAttributeWithName:@"type" stringValue:@"jid-multi"]; [value setStringValue:@""];
[valueowners setStringValue:myJid]; //创建者的Jid [x addChild:field];
[x addChild:fieldowners];
[field addChild:value];
[fieldowners addChild:valueowners]; [room configureRoomUsingOptions:x]; } // 房间创建成功后在配置永久属性
#pragma mark - 创建讨论组成功回调
- (void)xmppRoomDidCreate:(XMPPRoom *)sender
{
[self sendDefaultRoomConfig];
}