Contents

CallKit

Display the system-calling UI for your app’s VoIP services, and coordinate your calling services with other apps and the system.

Mentioned in

Overview

Use CallKit to integrate your calling services with other call-related apps in the system. CallKit provides the calling interface, and you handle the back-end communication with your VoIP service. See Making and receiving VoIP calls for more information.

For incoming and outgoing calls, CallKit displays the same interfaces as the Phone app, giving your app a more native look and feel. CallKit also responds appropriately to system-level behaviors, such as Do Not Disturb.

In addition to handling calls, you can use a Call Directory app extension to provide caller ID information and a list of blocked numbers associated with your service. See Identifying and blocking calls for more information.

Manage user privacy

With a person’s permission, an installed health research app that uses SensorKit entitlements may collect Speech Metrics data while your CallKit app is in use. To prevent this, you can set the SRResearchDataGeneration information property list key to NO.

Become the default calling app

In iOS and iPadOS 18.2 and later, a person may select an app — other than the Phone app or FaceTime — to place calls by default. To make your CallKit or LiveCommunicationKit app support the default calling app setting, see Preparing your app to be the default calling app.

Topics

Essentials

Incoming calls

Outgoing calls

Call-related actions

Call information

Caller ID

Reference