Definition

CXProvider is the CallKit object that represents your app to the iOS telephony system.

It is responsible for:


Core Concept

CXProvider is the system-facing side of your CallKit integration.

It allows iOS to communicate call lifecycle events back to your app.

iOS System Call UI
        ↓
    CXProvider
        ↓
    Your App

Creating a Provider

A provider is created using CXProviderConfiguration.

import CallKit

let configuration = CXProviderConfiguration()
configuration.supportsVideo = false
configuration.maximumCallGroups = 1
configuration.maximumCallsPerCallGroup = 1
configuration.supportedHandleTypes = [.phoneNumber]

let provider = CXProvider(configuration: configuration)

Setting the Delegate

provider.setDelegate(self, queue: nil)

This tells CallKit: