XMPPFramework - Erstellen Sie einen XMPPRoom

Ich habe versucht, einen XMPPRoom mit dem folgenden Code zu erstellen. Ich habe verschiedene Beispiele online betrachtet. Wenn ich diesen Code verwende, werden die Delegaten xmppRoomDidCreate oder xmppRoomDidJoin jedoch nicht aufgerufen. Ich bin nicht sicher, was ich hier falsch mache?

PS: Die Delegierten von xmppStream werden zwar angerufen, verbunden und autorisiert, es handelt sich jedoch um XMPPRoom-Delegierte ...

- (void)createChatRoom
{
    NSString *jabberID = @"[email protected]";
    self.xmppStream.hostName = @"testservice.com";


    self.xmppStream = [[XMPPStream alloc]init];
    [self.xmppStream addDelegate:self delegateQueue:dispatch_get_main_queue()];

    [self.xmppStream setMyJID:[XMPPJID jidWithString:jabberID]];

    NSError *error = nil;

    if (![self.xmppStream connectWithTimeout:XMPPStreamTimeoutNone error:&error]) {
        UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"Error" message:[NSString stringWithFormat:@"Cannot connect to server %@",[error localizedDescription]] delegate:self cancelButtonTitle:@"Ok" otherButtonTitles:nil];
        [alert show];

        return;
    }

    // Configure xmppRoom
    XMPPJID *roomJID = [XMPPJID jidWithString:@"[email protected]"];

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

    XMPPRoom *xmppRoom = [[XMPPRoom alloc] initWithRoomStorage:roomMemoryStorage
                                                           jid:roomJID
                                                 dispatchQueue:dispatch_get_main_queue()];

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

Antworten auf die Frage(2)

Ihre Antwort auf die Frage