Sinch:如何从被叫方的锁定屏幕中解除Apple CallKit UI

时间:2017-10-20 15:54:39

标签: ios objective-c voip sinch callkit

在使用最新版本(3.12)中提供的SinchCallKit演示应用程序进行应用程序调用的应用程序中,如果调用者在被调用者回答之前通过调用[SINCall hangup]挂断正在进行的调用,则CallKit UI赢得&# 39;从被叫方的锁定屏幕中删除。它永远呆在那里。

所以我的问题是,我们如何自动从被叫方的屏幕中删除CallKit锁屏UI。这是服务器端问题还是Apple通过推送通知处理此问题?

2 个答案:

答案 0 :(得分:2)

执行EndCallAction。您需要最初用于创建调用对象的ID号。

// Where you handle your call disconnect
CXEndCallAction *endCallAction = [[CXEndCallAction alloc] initWithCallUUID:call.callKitUUID];
CXTransaction *transaction = [[CXTransaction alloc] init];
[transaction addAction:endCallAction];
[self requestTransaction:transaction];

这是支持-requestTransaction方法:

- (void)requestTransaction:(CXTransaction *)transaction {
[self.callController requestTransaction:transaction completion:^(NSError * _Nullable error) {
    if (error) {
        SCILog(@"Error requesting transaction: %@", error.localizedDescription);
    } else {
        SCILog(@"Requested transaction successfully");
    }
}];
}

答案 1 :(得分:2)

这是Sinch SDK中的一个错误,自3.12.1起修复,请更新到最新版本并尝试一下。