質問

マイXMPP Streamは正常に接続し、コールバックでユーザーの存在を送信しようとします。ただし、このエラーが発生し続けます。エラードメイン= XMPPStreamerRordomainコード= 1 "操作は完了できませんでした。(XMPPStreamRorordomainエラー1)"

私の接続方法:

- (void)connect {
    NSString *username = @"masa060295@jabber.web.id";
    self.password = @"test123";

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

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

私のコールバック:

- (void)xmppStreamDidConnect:(XMPPStream *)sender {
    NSError *error = nil;

    NSLog(@"%hhd", [self.xmppStream isConnected]);

    if (![self.xmppStream authenticateWithPassword:self.password error:&error]) {
        UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Error"
                                                            message:[NSString stringWithFormat:@"Can't authenticate %@", [error localizedDescription]]
                                                           delegate:nil
                                                  cancelButtonTitle:@"Ok"
                                                  otherButtonTitles:nil];
        [alertView show];
    }

    XMPPPresence *presence = [XMPPPresence presence];
    NSXMLElement *priority = [NSXMLElement elementWithName:@"priority" numberValue:[NSNumber numberWithInt:127]];
    [presence addChild:priority];

    [self.xmppStream sendElement:presence];
}
.

任意のアイデア?

役に立ちましたか?

解決

認証終了後にプレゼンスを送信する必要があります。このコールバックでそれをしなさい:

 - (void)xmppStreamDidAuthenticate:(XMPPStream *)sender
 {        
      XMPPPresence *presence = [XMPPPresence presence]; // type="available" is implicit

      [sender sendElement:presence];
 }
.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top