Posts

Post not yet marked as solved
6 Replies
5.7k Views
Call Kit behaviors depending on lock state of the device.I am working a new iOS VOIP app and while an experienced iOS developer, I have not done VOIP in the past so a lot of this is new to me. I’m looking for clarification as to differences in how CallKit handles an incoming call depending on the lock state of the device and confirmation as to the reasoning behind it.My Assumption Based on ObservationIf my phone is locked and an incoming call is being handled by CallKit (as via my experience using WWDC’s Speakerbox demo) the user will see a system “Incoming Call” view with a “Slide to answer” widget. Upon sliding they will have an active audio connection with the caller and the UI will change to a view I’d call the “Active Call” view. This view presents a button to visit the app and potentially a video button if the app has advertised this as a video call. When the user taps the app or video button they are made to authenticate using a passcode or TouchID. Once authenticated they are brought to the app.The behavior for an incoming call with an unlocked phone is much different. Instead of the “Incoming Call” view with the slider, we now have two buttons: Accept or Decline. Upon tapping Accept the user is directed immediately to the VOIP app – skipping the system provided “Active Call” view.QuestionsShould I assume the primary reason CallKit responses with the system “Active Call” view instead of my own app on a locked iOS device is for security concerns? It’s a conclusion we’ve come up with based on other behaviors but I have yet to see Apple document it with any detail.If I had an app that was primary considered a video conferencing app, is there any way to better enter the video call experience in a locked device scenario? It would seem not – BUT then I look at FaceTime, and when my device is receiving a FaceTime call the Incoming Call view actually shows my active front facing camera and then immediately takes me to a FaceTime experience (regardless if the device is locked or not). I assume these behaviors are a special case only available to FaceTime but I welcome feedback to point me in the right direction.I notice that when I accept a call on an unlocked phone on Speakerbox there is a slightly jarring display of the active call view right before my app is brought to the front. Is this something I can help avoid in my own code?
Posted
by zorn.
Last updated
.