我正在尝试使用XMPPFramework制作聊天应用程序 . 我完成了连接设置 . 我也可以聊聊单用户 . 我还可以创建一个用于在多个用户之间进行聊天的组 . 我的问题是在创建组后,我想将用户添加到组中是不行的 . 这里是我用过的代码 . 而且,我没有得到任何调用这种方法 didFetchModeratorsList:

Step-1
#pragma mark --- Create Room
- (void) createChatRoom:(NSString *)groupName{
    if (!groupName)
    {
        return;
    }

    XMPPRoomMemoryStorage *roomStorage = [[XMPPRoomMemoryStorage alloc] init];

    NSString* roomID = [NSString stringWithFormat:@"%@@conference.%@", groupName, CURRENT_HOST_NAME];
    XMPPJID * roomJID = [XMPPJID jidWithString:roomID];
    XMPPRoom *xmppRoom = [[XMPPRoom alloc] initWithRoomStorage:roomStorage
                                                           jid:roomJID
                                                 dispatchQueue:dispatch_get_main_queue()];


    [xmppRoom activate:xmppStream];
    [xmppRoom addDelegate:self
            delegateQueue:dispatch_get_main_queue()];

    /*
     NSXMLElement *history = [NSXMLElement elementWithName:@"history"];
     [history addAttributeWithName:@" maxchars" stringValue:@"0"];
     */
    [xmppRoom joinRoomUsingNickname:xmppStream.myJID.user
                            history:nil
                           password:nil];

    [self performSelector:@selector(ConfigureNewRoom:) withObject:nil afterDelay:3];


}

Step-2
#pragma mark --- addMemberInChatRoom
- (void) addMemberInChatRoom:(NSString*)roomName :(NSArray*)memberId{
    NSLog(@"roomName: %@", roomName);
    NSLog(@"memberId: %@", memberId);

    XMPPRoomMemoryStorage *roomStorage = [[XMPPRoomMemoryStorage alloc] init];
    NSString* roomID = [NSString stringWithFormat:@"%@@conference.%@", roomName, CURRENT_HOST_NAME];
    XMPPJID * roomJID = [XMPPJID jidWithString:roomID];
    XMPPRoom *xmppRoom = [[XMPPRoom alloc] initWithRoomStorage:roomStorage
                                                           jid:roomJID
                                                 dispatchQueue:dispatch_get_main_queue()];
    [xmppRoom activate:xmppStream];
    [xmppRoom addDelegate:self delegateQueue:dispatch_get_main_queue()];

    [xmppRoom joinRoomUsingNickname:xmppStream.myJID.user
                            history:nil
                           password:nil];

    [self performSelector:@selector(ConfigureNewRoom:) withObject:nil afterDelay:1];



     [xmppRoom inviteUsers:memberId withMessage:@"join this room"];

}

Step-3
 #pragma mark ---  This fuction is used configure new
- (void)ConfigureNewRoom:(XMPPRoom *)xmppRoom
{
    [xmppRoom configureRoomUsingOptions:nil];
    [xmppRoom fetchConfigurationForm];
    //[xmppRoom fetchBanList];
    [xmppRoom fetchMembersList];
    //[xmppRoom fetchModeratorsList];
}

Step-4
- (void)xmppRoom:(XMPPRoom *)sender didFetchModeratorsList:(NSArray *)items
{
    NSLog(@"%@: %@ --- %@", THIS_FILE, THIS_METHOD, sender.roomJID.bare);

}