A project I'm working on works mainly around a good UI/UX. The one issue I'm facing is answering calls on a locked iOS device.
Documentation:
Apple introduced the CallKit and PushKit features to allow access to the native call screen which is good, but not ideal in my case.
There is good literature on both of these components, e.g.
- Receiving incoming calls
- Responding to VoIP Notifications from PushKit
- Very useful iOS 13 PushKit restrictions
Previously asked?
There are many questions about this issue, mostly centered around 2 years ago, which is why I am asking again.
- Recommended with tutorials - Lock Screen UI with incoming Call
- iOS - Can I open my VoIP app on answering call using Callkit
- CallKit: Launch app when screen is locked
- https://github.com/react-native-webrtc/react-native-callkeep/issues/319#issuecomment-758628836
Some extra CallKit/PushKit tutorials
- https://www.nikola-breznjak.com/blog/ios/create-native-ios-app-can-receive-voip-push-notifications/
- (Flutter Specific, can be used for native iOS too) https://github.com/masashi-sutou/flutter_ios_webrtc_kit
- https://www.raywenderlich.com/1276414-callkit-tutorial-for-ios
- https://agostini.tech/2019/06/23/receiving-incoming-calls-with-pushkit/
- https://learn.vonage.com/blog/2021/01/28/handling-voip-push-notifications-with-callkit/
- https://medium.com/@ykawanabe/system-calling-screen-with-callkit-77004b1224e5
The issue is non of these, as far as I have read, provide a mechanism to open an app directly after answering.
Viable solutions
The only way to do this with the current implementation is to use the last of the 6 buttons on the CallKit
screen (optionally with an AppIcon
), see image [Masked Image Icon]:
Examples:
Question:
I can't find any solution to open my iOS (Flutter app) when answering a VoIP call from a locked state - is this at all possible?