我已经在我的VOIP应用程序中集成了CallKit。我打了一个VOIP电话,另一端接了我的电话。稍后,当VOIP通话处于活动状态时,我收到了GSM通话。我已经通过释放音频来接受GSM通话,而我的VOIP应用程序却掉到了后台。几秒钟后,我断开了GSM通话,但随后我得到了以下方法的委托回调:

- (void)provider:(CXProvider *)provider performEndCallAction:(CXEndCallAction *)action


用这种方法,我实际上断开了所有传入/传出的呼叫,因此同时GSM和VOIP呼叫都断开了。

我不确定在正确的情况下断开GSM呼叫时为什么会调用上述委托方法...仅当断开VOIP呼叫时才应调用此方法。

我的路线图是:断开GSM通话后,我将启动我的音频服务并恢复VOIP通话。但是我无法继续进行,因为我的VOIP通话也断开了。

最佳答案

我不确定为什么我断开GSM通话时为什么会调用上述委托方法...仅当我断开VOIP通话时才应调用此方法


在文档中没有提到仅在您的应用程序进行调用时才调用此方法。我认为这是正确的行为,您需要获取呼叫UUID才能将呼叫标识为其他呼叫之一。

关于ios - CallKit处理iOS中的多个调用(VOIP和GSM)问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43640783/

10-11 15:59