2016-07-12 4 views
1

この質問は複数回尋ねられましたが、どれも問題を解決していません。Quickbloxエラー:接続されておらず、許可されていません

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate]; 

    NSLog(@"bdsfbd %@",chatuserobj.fullName); 
    NSLog(@"Chat Id %lu",(unsigned long)chatuserobj.ID); 
    NSLog(@"Current User %@",[QBSession currentSession].currentUser); 

    QBUUser *currentUserr = [QBUUser user]; 
    currentUserr.ID = appDelegate.loginUserId; 
    currentUserr.password = appDelegate.loginUserPassword; 

    // connect to Chat 
    [QBRequest logInWithUserLogin:appDelegate.loginUser password:appDelegate.loginUserPassword successBlock:^(QBResponse *response, QBUUser *user) 
    { 
     chatDialog = [[QBChatDialog alloc] initWithDialogID:NULL type:QBChatDialogTypePrivate]; 
     chatDialog.occupantIDs = @[@(chatuserobj.ID)]; 
     [QBRequest createDialog:chatDialog successBlock:^(QBResponse *response, QBChatDialog *createdDialog) 
     { 
      NSLog(@"Created Dialog %@",createdDialog); 
     } errorBlock:^(QBResponse *response) 
     { 
      NSLog(@"Error %@",response); 
     }];    
    } errorBlock:^(QBResponse *response) { 

    }]; 

    [[QBChat instance] connectWithUser:chatuserobj completion:^(NSError * _Nullable error) 
    { 
     NSLog(@"USer is Connected %@",error.description); 
     [self startChat]; 
    }]; 

    [QBSettings setKeepAliveInterval:30]; 
    [QBSettings setAutoReconnectEnabled:YES]; 
} 

と私にはわからないこの

-(void)startChat 
{ 
    [[QBChat instance] addDelegate:self]; 
    QBChatMessage *message = [QBChatMessage message]; 
    [message setText:@"Hey there"]; 
    NSMutableDictionary *params = [NSMutableDictionary dictionary]; 
    params[@"save_to_history"] = @YES; 
    [message setCustomParameters:params]; 
    [chatDialog sendMessage:message completionBlock:^(NSError * _Nullable error) 
    { 
     NSLog(@"Completed: %@",error.description); 
    }]; 
} 

エラードメイン= com.quickblox.chatコード= 401は、実際に私はこれを試してみました "パスワードが検証されていません"私は間違っている。だから私の間違いを指摘する。

EDIT:再び負荷

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 


    // connect to Chat 


    [[QBChat instance] connectWithUser:currentUserr completion:^(NSError * _Nullable error) 
    { 
     NSLog(@"USer is Connected %@",error.description); 
    }]; 

    dispatch_async(dispatch_get_main_queue(), ^(void) 
     { 
      [self chat]; 
     }); 
    dispatch_async(dispatch_get_main_queue(), ^(void) 
        { 
         [self startChat]; 
        }); 
} 

チャットがやった中では一つの接続

-(void)chat 
{ 
    chatDialog = [[QBChatDialog alloc] initWithDialogID:NULL type:QBChatDialogTypePrivate]; 

    chatDialog.occupantIDs = @[@(chatuserobj.ID)]; 

    [QBRequest createDialog:chatDialog successBlock:^(QBResponse *response, QBChatDialog *createdDialog) { 

    } errorBlock:^(QBResponse *response) { 

    }]; 
} 

にプライベートグループまたは1つのダイアログを作成するための方法であると

-(void)startChat 
{ 
    [[QBChat instance] addDelegate:self]; 
    QBChatMessage *message = [QBChatMessage message]; 

    [message setText:@"Hey there"]; 

    NSMutableDictionary *params = [NSMutableDictionary dictionary]; 
    params[@"save_to_history"] = @YES; 

    [message setCustomParameters:params]; 

    [chatDialog sendMessage:message completionBlock:^(NSError * _Nullable error) 
    { 
     NSLog(@"Completed: %@",error.description); 

    }]; 
} 
を発生し、実際の通信をチャット開始

今このエラーが発生します UserInfo = {NSLocalizedRecoverySuggestion =あなたはチャットに接続していません。

答えて

2
- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 


    // connect to Chat 


    [[QBChat instance] connectWithUser:currentUserr completion:^(NSError * _Nullable error) 
    { 
     NSLog(@"USer is Connected %@",error.description); 

     dispatch_async(dispatch_get_main_queue(), ^(void) 

         { 
          [self chat]; 


         }); 


     dispatch_async(dispatch_get_main_queue(), ^(void) 

         { 
          [self startChat]; 


         }); 

    }]; 



} 

開始チャットとチャットの同じ方法です。それはうまく動作します

1
[[QBChat instance] connectWithUser:chatuserobj completion:^(NSError * _Nullable error) 
    { 
     NSLog(@"USer is Connected %@",error.description);  
    }]; 

この方法はチャットではなく、あなたの対戦相手に自分自身を接続するために使用されます。さらに、このメソッドに接続するには、QBUUserインスタンスのパスワードプロパティに有効なパスワードが設定されている必要があります。 基本的には、自分自身をチャットに接続して、ダイアログの作成とメッセージの送信を開始する必要があります。

+0

私は自分自身を接続するために使用するとエラーは発生しません。しかし、私は再びチャットに接続されていないこのメッセージが送信されます。ここで私のコードを見ることができます –

+0

私の編集可能なコードをチェック –

関連する問題