2

I'm building a React Native VoIP app that uses react-native-callkeep to integrate the native call handling UI. For iOS it uses CallKit, and in the case of inbound calls when the app is running in the background or the screen is locked, the native UI pops up as expected and the user can interact with that UI to control the call.

However, in the case of outgoing calls the native UI never shows up. A bit of searching shows contradicting information regarding intended behavior here. The following state that this is expected behavior, and that your app needs to build the UI for outgoing calls:

While these CallKit examples show outbound calls using the system UI:

Am I misunderstanding something fundamental here, or is there possibly an issue related to react-native?

Ryan McClure
  • 1,183
  • 2
  • 17
  • 34

1 Answers1

0

If the user starts an outgoing call from within the native application and then locks the device they will see the native user interface. If the device is not locked; the user will not see the native user interface and requires you to implement your interface for handling actions. There is no way to utilize the native user interface while your application is in the foreground.

SierraMike
  • 1,539
  • 1
  • 11
  • 18
  • 3
    Are you aware of any documentation from Apple that specifies this? It does indeed seem to be the case, but I can't find anything explaining why. It just seems strange that they would provide CallKit but then also require you to build your own interface, when their initial intentions must have been to keep the calling experience standardized... – Ryan McClure Nov 20 '19 at 21:41