TechnologiesCommunication, Contacts & Messaging

CallKit

iOSmacOStvOSwatchOSvisionOS

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.

  • Cl
    CXProvideriOS 10.0+
    An object that reports incoming and outgoing calls to the system and interacts with the system call UI.
  • Cl
    CXProviderConfigurationiOS 10.0+
    An object that defines the behavior and capabilities of a provider, such as supported handle types.
  • Pr
    CXProviderDelegateiOS 10.0+
    A protocol that responds to provider events, such as performing call actions and resetting state.
  • Cl
    CXCallUpdateiOS 10.0+
    An object that encapsulates the metadata of a new or updated call, such as the caller's handle.
  • Cl
    CXHandleiOS 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.

  • Cl
    CXCallControlleriOS 10.0+
    An object you use to request transactions of call actions and to query the active calls.
  • Cl
    CXTransactioniOS 10.0+
    An object that groups one or more call actions submitted together to a call controller.
  • Cl
    CXActioniOS 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.

  • Cl
    CXCallActioniOS 10.0+
    An abstract base class for actions associated with a specific call, identified by its UUID.
  • Cl
    CXStartCallActioniOS 10.0+
    An action that initiates an outgoing call to a specified handle.
  • Cl
    CXAnswerCallActioniOS 10.0+
    An action that answers an incoming call.
  • Cl
    CXEndCallActioniOS 10.0+
    An action that ends an active or pending call.
  • Cl
    CXSetHeldCallActioniOS 10.0+
    An action that places a call on hold or resumes a held call.
  • Cl
    CXSetMutedCallActioniOS 10.0+
    An action that mutes or unmutes a call.
  • Cl
    CXSetGroupCallActioniOS 10.0+
    An action that groups a call with another call or removes it from its current group.
  • Cl
    CXPlayDTMFCallActioniOS 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.

  • Cl
    CXCallObserveriOS 10.0+
    An object that reports the calls currently active on the device and notifies a delegate of changes.
  • Pr
    CXCallObserverDelegateiOS 10.0+
    A protocol that responds to changes in the state of calls reported by a call observer.
  • Cl
    CXCalliOS 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.

  • Cl
    CXCallDirectoryProvideriOS 10.0+
    The principal object of a Call Directory app extension that supplies blocking and identification data.
  • Cl
    CXCallDirectoryExtensionContextiOS 10.0+
    The context in which a Call Directory extension adds blocked and identified phone number entries.
  • Pr
    CXCallDirectoryExtensionContextDelegateiOS 10.0+
    A protocol that handles requests and reports failures for a Call Directory extension context.
  • Cl
    CXCallDirectoryManageriOS 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.

  • St
    CXErroriOS 10.0+
    A structure that describes general CallKit errors.
  • St
    CXErrorCodeIncomingCallErroriOS 10.0+
    A structure that describes errors that occur while reporting an incoming call.
  • St
    CXErrorCodeRequestTransactionErroriOS 10.0+
    A structure that describes errors that occur while requesting a transaction.
  • St
    CXErrorCodeCallDirectoryManagerErroriOS 10.0+
    A structure that describes errors that occur while managing a Call Directory extension.
  • St
    CXErrorCodeNotificationServiceExtensionErroriOS 14.5+
    A structure that describes errors that occur in a notification service extension reporting a call.
  • En
    CXCallEndedReasoniOS 10.0+
    Constants that indicate the reason a call ended.

Type Aliases 1

  • Ty
    CXCallDirectoryPhoneNumber
← Communication, Contacts & Messaging