CallKit integrates VoIP and calling apps with the system call UI on iOS, macOS, watchOS, and visionOS. Use CXProvider and its CXProviderConfiguration to report incoming and outgoing calls to the system, and submit a CXTransaction of CXAction subclasses such as CXStartCallAction, CXAnswerCallAction, CXEndCallAction, CXSetHeldCallAction, and CXSetMutedCallAction through a CXCallController to drive call state. Observe active calls with CXCallObserver and its CXCall objects, describe callers using CXHandle and CXCallUpdate, and supply blocked or identified numbers by implementing a CXCallDirectoryProvider against its CXCallDirectoryExtensionContext.
Reporting Calls to the System 5
Report incoming and outgoing calls to the system and supply call details and caller information.
- ClCXProvideriOS 10.0+An object that reports incoming and outgoing calls to the system and interacts with the system call UI.
- ClCXProviderConfigurationiOS 10.0+An object that defines the behavior and capabilities of a provider, such as supported handle types.
- PrCXProviderDelegateiOS 10.0+A protocol that responds to provider events, such as performing call actions and resetting state.
- ClCXCallUpdateiOS 10.0+An object that encapsulates the metadata of a new or updated call, such as the caller's handle.
- ClCXHandleiOS 10.0+An object that identifies a caller by phone number, email address, or generic value.
Requesting Call Actions 3
Submit transactions of call actions through a call controller to drive call state.
- ClCXCallControlleriOS 10.0+An object you use to request transactions of call actions and to query the active calls.
- ClCXTransactioniOS 10.0+An object that groups one or more call actions submitted together to a call controller.
- ClCXActioniOS 10.0+An abstract base class for actions that report or request changes to a call's state.
Call Actions 8
Discrete actions that start, answer, end, hold, mute, group, or play DTMF tones during a call.
- ClCXCallActioniOS 10.0+An abstract base class for actions associated with a specific call, identified by its UUID.
- ClCXStartCallActioniOS 10.0+An action that initiates an outgoing call to a specified handle.
- ClCXAnswerCallActioniOS 10.0+An action that answers an incoming call.
- ClCXEndCallActioniOS 10.0+An action that ends an active or pending call.
- ClCXSetHeldCallActioniOS 10.0+An action that places a call on hold or resumes a held call.
- ClCXSetMutedCallActioniOS 10.0+An action that mutes or unmutes a call.
- ClCXSetGroupCallActioniOS 10.0+An action that groups a call with another call or removes it from its current group.
- ClCXPlayDTMFCallActioniOS 10.0+An action that plays a sequence of dual-tone multi-frequency tones during a call.
Observing Calls 3
Monitor the calls currently known to the system and respond to changes in their state.
- ClCXCallObserveriOS 10.0+An object that reports the calls currently active on the device and notifies a delegate of changes.
- PrCXCallObserverDelegateiOS 10.0+A protocol that responds to changes in the state of calls reported by a call observer.
- ClCXCalliOS 10.0+An object that represents a call known to the system, including its unique identifier and state.
Call Directory Extensions 4
Supply blocked and identified phone numbers by implementing a Call Directory app extension.
- ClCXCallDirectoryProvideriOS 10.0+The principal object of a Call Directory app extension that supplies blocking and identification data.
- ClCXCallDirectoryExtensionContextiOS 10.0+The context in which a Call Directory extension adds blocked and identified phone number entries.
- PrCXCallDirectoryExtensionContextDelegateiOS 10.0+A protocol that handles requests and reports failures for a Call Directory extension context.
- ClCXCallDirectoryManageriOS 10.0+An object that manages the enabled state of a Call Directory app extension and requests reloads.
Errors 6
Error types and reasons reported when reporting calls, requesting transactions, or reloading a call directory.
- StCXErroriOS 10.0+A structure that describes general CallKit errors.
- StCXErrorCodeIncomingCallErroriOS 10.0+A structure that describes errors that occur while reporting an incoming call.
- StCXErrorCodeRequestTransactionErroriOS 10.0+A structure that describes errors that occur while requesting a transaction.
- StCXErrorCodeCallDirectoryManagerErroriOS 10.0+A structure that describes errors that occur while managing a Call Directory extension.
- StCXErrorCodeNotificationServiceExtensionErroriOS 14.5+A structure that describes errors that occur in a notification service extension reporting a call.
- EnCXCallEndedReasoniOS 10.0+Constants that indicate the reason a call ended.
Type Aliases 1
- TyCXCallDirectoryPhoneNumber