【问题标题】:CallKit "call failed screen" appearsCallKit“通话失败画面”出现
【发布时间】:2018-01-24 06:44:28
【问题描述】:

当接听者断开通话时(接听电话后)出现通话失败屏幕,我不希望显示此屏幕。我所有的委托方法都在工作。如何才能成功拨打电话?什么原因导致调用失败?

【问题讨论】:

  • 可以分享一下SINUIViewController的代码

标签: ios swift3 voip sinch callkit


【解决方案1】:

要结束通话,请使用 CXEndCallAction 并添加 CXTransaction 对象。确保您使用的是正确的 uuid

CXEndCallAction *action = [[CXEndCallAction alloc] initWithCallUUID:callUUID];
[self.callController requestTransaction:[CXTransaction ...Actions:@[action]] completion:completion];

【讨论】:

  • 我正在使用 CXTransaction,我观察到 action.callUUID 和 action.uuid 在 CXEndCallAction 委托中是不同的。我应该使用哪一个,我都尝试了但没有成功。
  • callUUID 是正确的。呼叫发起和结束时检查 callUUID,两者应该相同。
  • [self.provider reportCallWithUUID:callUUIDendedAtDate:nil reason:CXCallEndedReasonRemoteEnded];也检查一下。
【解决方案2】:

我遇到了同样的情况:P 但这是解决方案:

- (void)provider:(CXProvider *)provider performEndCallAction:(CXEndCallAction *)action {
    /* Perform your action after ending the call */
    NSLog(@"performEndCallAction");
    [action fulfill];
}

当 performEndCallAction 被 CallKit 调用时,在其中执行 [actionfulfill] :)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多