iOS Calling UI Framework is built on top of Callkit API that provides a native telecom UI interface for iOS users or simulates similar experience for App to App calling.
Release Date: December 15, 2024
Table of Contents
Overview
A Calling UI Framework is now available for iOS native app developers, designed to simplify and minimize coding efforts when integrating a CallKit interface. Using this framework, developers can enable app-to-app calling features within minutes through a UIKit-based solution.
Note that the UIKit Framework is built on top of UIKit, providing a powerful solution for creating audio and video UI with minimal code.. Know more…
Pre-requisites
Here are the pre-requisites for enabling the Calling UI Framework in your existing application:
- Application must have enabled VoIP feature in background mode.
- You need to integrate your own notification service, as no built-in notification service is provided.
How to integrate in IOS Native App?
For Calling UI Framework integration in iOS, follow the given steps below:
- Install Enx_CallKit_iOS framerork either through pod or manually. To install through pod, open terminal and go to your project directory.
cd /path-to/project-dir/
pod install
- Open your App.
- Go to the class where you receive push notification.
- Import the library.
import Enx_CallKit_iOS
- Create an object of
EnxCallKit class.
var callManager = EnxCallKit(self)
// self: Sets the the callback delegate
- On receiving notificatIon, call APIs.
let backGroundTaskIndet = UIApplication.shared.beginBackgroundTask(expirationHandler: nil)
callManager.reportIncomingCall(uuid: UUID(), callerName: "Caller Name", hasVideo: true) {
_in UIApplication.shared.endBackgroundTask(backGroundTaskIndet)
}
- Add background task before loading the Calling UI.
- End the background task once Calling UI is loaded.
- To end call, use the following method. This will close Call-kit UI.
callManager.endCall()
List of Callbacks
You need to make use of the following call backs to create create user-experience:
func callAnswer()
: When you receive incoming callfunc callReject()
: When you reject incoming callfunc callTimeOut()
: When you didn’t respond to incoming call notification, it times out in 45 seconds.func callEnd()
: When you ended the callfunc callHold()
: When you keep the call on hold