tarafından geri çağrılmadı. Yeni CallKit API'sini VOIP uygulamamla bütünleştiriyorum. https://developer.apple.com/library/content/samplecode/Speakerbox/Introduction/Intro.htmldidActivate, CallKit
Ben ses oturumu yapılandırarak ediyorum: Benim CXAnswerCallAction içinde
- (void) configureAudioSession
{
// Configure the audio session
AVAudioSession *sessionInstance = [AVAudioSession sharedInstance];
// we are going to play and record so we pick that category
NSError *error = nil;
[sessionInstance setCategory:AVAudioSessionCategoryPlayAndRecord error:&error];
if (error) {
NSLog(@"error setting audio category %@",error);
}
// set the mode to voice chat
[sessionInstance setMode:AVAudioSessionModeVoiceChat error:&error];
if (error) {
NSLog(@"error setting audio mode %@",error);
}
NSLog(@"setupAudioSession");
return;
}
: örnek uygulamasında görüldüğü gibi
belgelerine göre
func provider(_ provider: CXProvider, perform action: CXAnswerCallAction) {
print("Provider - CXAnswerCallAction")
// get the active call
guard let call = self.softphone.getCallForCallId(self.currentCallId) else {
action.fail()
return
}
/*
Configure the audio session, but do not start call audio here, since it must be done once
the audio session has been activated by the system after having its priority elevated.
*/
self.softphone.configureAudioSession()
// Trigger the call to be answered via the underlying network service.
call.answer()
// Signal to the system that the action has been successfully performed.
action.fulfill()
}
, didActivate çağrılmalıdır callkit tarafından geri dönme:
func provider(_ provider: CXProvider, didActivate audioSession: AVAudioSession) {
print("Provider - Received \(#function)")
// Start call audio media, now that the audio session has been activated after having its priority boosted.
}
Bazı nedenlerden dolayı, ilk VOIP çağrısından sonra geri çağrılmaz. Sonraki çağrılar geri aramaları alıyor ve iyi çalışıyorlar.
Bunu nasıl düzeltebilirim?