Я разрабатываю приложение VoIP, используя Pjsip в Objective-C.
Я хочу попробовать интегрировать CallKit, но получаю сообщение об ошибке configureAudioSession
. Я скопировал AudioController.h
и AudioController.mm
из SpeakerBox от Apple в мой проект.
И я добавил этот код:
AudioController *audioController;
- (void)configureAudioSession {
if (!audioController) {
audioController = [[AudioController alloc] init];
}
}
- (void)handleIncomingCallFrom:(NSString *)dest {
CXCallUpdate *callUpdate = [[CXCallUpdate alloc] init];
[callUpdate setLocalizedCallerName:dest];
[callUpdate setHasVideo:NO];
CXHandle *calleeHandle = [[CXHandle alloc] initWithType:CXHandleTypeGeneric value:dest];
[callUpdate setRemoteHandle:calleeHandle];
[provider reportNewIncomingCallWithUUID:[NSUUID UUID] update:callUpdate completion:^(NSError *error){
[self configureAudioSession];
}];
}
Телефон звонит, я могу принять вызов, но он зависает всякий раз, когда я отвечаю. Я получаю эту ошибку:
AVAudioSession error activating: Error Domain=NSOSStatusErrorDomain Code=561017449 "(null)"
2017-03-09 18:17:48.830893 MyVoIPProject[1620:971182] [aurioc] 892: failed: '!pri' (enable 3, outf< 1 ch, 16000 Hz, Int16> inf< 1 ch, 16000 Hz, Int16>)
2017-03-09 18:17:48.841301 MyVoIPProject[1620:971182] [aurioc] 892: failed: '!pri' (enable 3, outf< 1 ch, 44100 Hz, Int16> inf< 1 ch, 44100 Hz, Int16>)
2017-03-09 18:17:48.850282 MyVoIPProject[1620:971182] [aurioc] 892: failed: '!pri' (enable 3, outf< 1 ch, 48000 Hz, Int16> inf< 1 ch, 48000 Hz, Int16>)
.
.
.
.
Можете ли вы сказать мне, как я могу интегрировать Callkit?