I have noticed a strange behaviour in my VoIP app which uses CallKit. I wasn't able to produce this with earlier iOS versions, so it might be a CallKit bug in iOS 16.x. The bug is not always reproducible even on iOS 16.x.
The steps to reproduce are:
-
Start a VoIP call from phone A to phone B and let B answer the call.
-
While being in this call, make a GSM call from phone C to phone A.
The strange behaviour would start to happen now on phone A:
-
First a CallKit banner would appear on the top of the screen about the running VoIP call (which is strange, but OK for me).
-
Then immediately also another CallKit banner would appear on the top of the screen about the incoming GSM call, covering up the previous banner. The big problem here is that the two button it provides (accept and decline) are not responsive. The only thing that can be done is to tap on the banner itself to make it go full-screen. Then those two main buttons will become slightly different: "end call" and "end current call and accept the new call". These buttons will now be responsive.
I was only able to produce this behaviour on iOS 16.x devices until now. After being able to get this behaviour, I am usually able to reproduce it a handful of times. But after that this bug can not be reproduced, because CallKit starts to always appear in full screen in the above scenario. It happened, that days later I was able to produce the issue again.
Is this a bug in CallKit and if so, is there a workaround? Or am I doing something wrong and if so, what could be the source of the issue?
Thanks!