I don’t understand the outcome of the “Starting the Call” chapter.
When I run the app and make a call, in the Hotline table view screen, I see the outgoing call and the label on the right saying “Dialing…”, “Connecting…”, then “Active”. But once it’s active, there’s no sound, nothing. I don’t hear the ringtone, or the other person answering. Is this chapter incomplete?
The purpose of this tutorial is to learn how your app can use CallKit for system-level phone integration and how to build a directory extension for call blocking and identification.
This tutorial doesn’t cover the VoIP integration itself. It covers how you can integrate with Apple dialing and calling APIs.
“Display the system-calling UI for your app’s VoIP services, and coordinate your calling services with other apps and the system”.
So for actual calling you will need to use some VoIP APIs which is not part of CallKit.
Once you do that, you can then integrate with the iOS calling UI by using CallKit framework. This is out of scope of this tutorial.
I see thanks. Is it possible to programatically trigger (or make) a phone call using CallKit? From the documentation, it seems not. Can you confirm? Thanks!
When device is locked and we show incoming call. native UI is shown which is fine, but how can I get know when app button pressed (bottom right button with title Hotline )
So is there any event fire for that button press?
Issue I am facing is with ARKit. ARKit session is unable to start when this screen appears and getting this error
2019-06-24 13:05:19.890875+0530 App[4305:1012138] [Sensor] ARImageSensor (<ARImageSensor: 0x281648cf0>) failed to start!
2019-06-24 13:05:19.891068+0530 App[4305:1012138] [Session] Session (0x10705a9d0): did fail with error: Error Domain=com.apple.arkit.error Code=102 “Required sensor failed.” UserInfo={NSLocalizedRecoverySuggestion=Make sure that the application has the required privacy settings., NSLocalizedDescription=Required sensor failed., NSLocalizedFailureReason=A sensor failed to deliver the required input.}
I don’t have an answer to your question. My best guess would be that when your app is launched by pressing the “Hotline” button, you can this information as user info in one of AppDelegate callbacks. And then you will be able to change logic depending on how the app was launched.