CallKit:调用UI个控件

CallKit: call UI controls

我现在正在玩 CallKit。 我已经下载了 SpeakerBox 示例,我有自己的示例,它使用 SpeakerBox 中的自定义 SIP 和 WebRTC 以及 CallKit 代码。

我注意到在 SpeakerBox 应用程序中,如果您启动本地虚拟呼叫然后有另一个来电(没有区别,如果它是模拟 SpeakerBox 来电或真实移动呼叫)您将始终(好的,在 99.9%例数)在系统提供的 UI 呼叫屏幕上获得 "Hold&Accept" 和 "End&Accept" 按钮。

但对于我的申请,事情如下:

这是否可以在应用程序内部或应用程序本身的 CallKit 中配置?

当你没有向系统(设备A)报告设备B接受了呼叫时,就会发生这种情况。如果你接受来自设备C的新来电,你将结束当前与设备B的通话。

要解决这个问题,当设备 A 收到有关 B 已接受呼叫的通知时,您必须使用此方法:

[provider reportOutgoingCallWithUUID:callUUID connectedAtDate:[NSDate date]];

其中:

  • provider 是在 -(void) provider:(CXProvider *)provider performStartCallAction:(CXStartCallAction *)action
  • 收到的 CXProvider
  • callUUID 是设备 A 中调用的 UUID。

希望对你有所帮助