2016-01-23 2 views
0

Я использую Quickblox в своем приложении для видеовызовов, я зарегистрировался и вошел в систему успешно, но когда я пытаюсь создать QBRTCSession со следующей строкой, я всегда получаю нуль, пожалуйста, помогите мне.QBRTCSession всегда nill

QBRTCSession* videoSession = [QBRTCClient.instance createNewSessionWithOpponents:opponentsIDs withConferenceType:QBRTCConferenceTypeVideo]; 

Ниже мой полный код:

[QBRequest logInWithUserEmail:[userDefaults valueForKey:@"loginEmail"] password:[userDefaults valueForKey:@"loginPassword"] successBlock:^(QBResponse * _Nonnull response, QBUUser * _Nullable user) { 

    NSError* error; 
    QBUUser* theUser = [QBUUser user]; 
    theUser.ID = 00000; 
    [QBChat.instance connectWithUser:theUser completion:^(NSError * _Nullable error) { 
    }]; 

    [userDefaults setInteger:user.ID forKey:@"userId"]; 
    [userDefaults synchronize]; 
    [QBRTCClient initializeRTC]; 

    [QBRTCConfig setAnswerTimeInterval:60]; 
    [QBRTCConfig setDialingTimeInterval:10]; 
    [QBRTCConfig setDisconnectTimeInterval:30];//  [QBRTCConfig setDTLSEnabled:false]; 

    [[QBRTCMediaStreamConfiguration alloc] init]; 
    configurations.audioCodec = QBRTCAudioCodeciLBC; 
    configurations.videoCodec = QBRTCVideoCodecH264; 
    [QBRTCConfig setICEServers:[self quickbloxICE]]; 
    [QBRTCConfig setMediaStreamConfiguration:configurations]; 
    [QBRTCConfig setStatsReportTimeInterval:1.f]; 

    [QBRTCClient.instance addDelegate:self]; 
    NSArray* opponentsIDs = @[@000000]; 
    [QBSettings setAutoReconnectEnabled:YES]; 

    QBRTCSession* videoSession = [QBRTCClient.instance createNewSessionWithOpponents:opponentsIDs withConferenceType:QBRTCConferenceTypeVideo]; 

    CallViewController *callViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"CallViewController"]; 
    callViewController.session = videoSession; 
    callViewController.initiator = user; 
[self presentViewController:callViewController animated:NO completion:nil]; 
} errorBlock:^(QBResponse * _Nonnull response) { 

    NSLog(@"%@",[response.error description]); 
}]; 

- (NSArray *)quickbloxICE { 

NSString *password = @"baccb97ba2d92d71e26eb9886da5f1e0"; 
NSString *userName = @"quickblox"; 

QBRTCICEServer *server = [QBRTCICEServer serverWithURL:@"https://myserver:port" username:@"" password:@""]; 

QBRTCICEServer * stunServer = [QBRTCICEServer serverWithURL:@"stun:turn.quickblox.com" 
                username:@"" 
                password:@""]; 

QBRTCICEServer * turnUDPServer = [QBRTCICEServer serverWithURL:@"turn:turn.quickblox.com:3478?transport=udp" 
                 username:userName 
                 password:password]; 

QBRTCICEServer * turnTCPServer = [QBRTCICEServer serverWithURL:@"turn:turn.quickblox.com:3478?transport=tcp" 
                 username:userName 
                 password:password]; 


[email protected][server,stunServer, turnTCPServer, turnUDPServer];} 
+0

Привет! Пожалуйста, укажите полные журналы. –

ответ

0

Пожалуйста, создайте новый экземпляр QBRTCSession после подключения к чат:

[QBChat.instance connectWithUser:theUser completion:^(NSError * _Nullable error) { 
    QBRTCSession* videoSession = [QBRTCClient.instance createNewSessionWithOpponents:opponentsIDs withConferenceType:QBRTCConferenceTypeVideo]; 
}];