aytek
aytek

Reputation: 1942

Sinch: How to dismiss Apple CallKit UI from the callee's lock screen

On an app to app call with using SinchCallKit demo app that is provided in the latest version (3.12), if the caller hangs up an ongoing call by calling [SINCall hangup] before the callee answers, the CallKit UI won't be removed from the callee's lock screen. It stays there forever.

So my question is here that how can we remove the CallKit lock screen UI from the callee's screen automatically. Is this is a server side issue or Apple handles this via push notifications?

Upvotes: 3

Views: 1025

Answers (2)

Bo Li
Bo Li

Reputation: 181

It is a bug in the Sinch SDK and it has been fixed since 3.12.1, please update to the latest version and give it a try.

Upvotes: 2

KevinS
KevinS

Reputation: 607

Perform an EndCallAction. You need the ID number you used to create the call object initially.

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

Here's the supporting -requestTransaction method:

- (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");
    }
}];
}

Upvotes: 2

Related Questions