Sinch:如何从被叫方的锁定屏幕中关闭 Apple CallKit UI
Sinch: How to dismiss Apple CallKit UI from the callee's lock screen
在使用最新版本 (3.12) 中提供的 SinchCallKit 演示应用程序进行应用程序呼叫时,如果呼叫者在被呼叫者接听之前通过呼叫 [SINCall hangup]
挂断正在进行的呼叫,CallKit UI 不会从被叫方的锁屏中移除。它永远留在那里。
所以我的问题是我们如何从被叫方的屏幕上自动删除 CallKit 锁屏 UI。这是服务器端问题还是 Apple 通过推送通知处理此问题?
执行 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");
}
}];
}
是Sinch SDK的bug,从3.12.1开始修复,请更新到最新版本试试看。
在使用最新版本 (3.12) 中提供的 SinchCallKit 演示应用程序进行应用程序呼叫时,如果呼叫者在被呼叫者接听之前通过呼叫 [SINCall hangup]
挂断正在进行的呼叫,CallKit UI 不会从被叫方的锁屏中移除。它永远留在那里。
所以我的问题是我们如何从被叫方的屏幕上自动删除 CallKit 锁屏 UI。这是服务器端问题还是 Apple 通过推送通知处理此问题?
执行 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");
}
}];
}
是Sinch SDK的bug,从3.12.1开始修复,请更新到最新版本试试看。