CallViewController

@available(iOS 12.0, *)
@objc(BDKCallViewController)
public class CallViewController : UIViewController

A view controller showing the user interface for the intent provided. You should present this view controller modally.

Remark

You must provide an intent before the view controller’s view is loaded.

Properties

Public APIs

  • Sets the view controller configuration to be used.

    Remark

    the provided configuration will be discarded if this method is called after the view has been loaded.

    Declaration

    Swift

    @objc
    public func setConfiguration(_ configuration: CallViewControllerConfiguration)

    Parameters

    configuration

    The view controller configuration to be used.

  • Starts processing the intent provided as argument. You must provide an intent to be processed before the view is loaded.

    Warning

    raises a fatal error if an unknown intent is provided as argument.

    Warning

    raises a fatal error if an intent has been already provided.

    Declaration

    Swift

    @objc(handleIntent:)
    public func handle(intent: Intent)

    Parameters

    intent

    The intent object to be handled by the receiver.

  • Handles a Siri INStartVideoCallIntent. This intent is going to be provided by the system when CallKit is enabled and the user taps on the video button in the system call UI. In order to handle the request from the user you must send the intent received, to the view controller.

    Declaration

    Swift

    @available(iOS, deprecated: 13, message: "handle(startVideoCallIntent: _﹚ is deprecated. Please use handle(startCallIntent: _﹚ instead")
    @objc(handleINStartVideoCallIntent:)
    public func handle(startVideoCallIntent: INStartVideoCallIntent)

    Parameters

    startVideoCallIntent

    The INStartVideoCallIntent received in your AppDelegate.

  • Handles a Siri INStartCallIntent. This intent is going to be provided by the system when CallKit is enabled and the user taps on the video button in the system call UI. In order to handle the request from the user you must send the intent received, to the view controller.

    Declaration

    Swift

    @available(iOS 13.0, *)
    @objc(handleINStartCallIntent:)
    public func handle(startCallIntent: INStartCallIntent)

    Parameters

    startCallIntent

    The INStartCallIntent received in your AppDelegate.

PiP

  • Invoke this method when you want the call UI to transtion from fullscreen to picture in picture. Calls to this function will be ignored when the UI is already in PIP mode.

    Since

    3.7.0

    Declaration

    Swift

    @objc(presentPictureInPictureAnimated:completion:)
    public func presentPictureInPicture(animated: Bool, completion: ((Error?) -> Void)? = nil)

    Parameters

    animated

    A flag indicating if the transition should be animated or not.

    completion

    A callback signaling whether the transition succeed or not. May be nil.

  • Invoke this method when you want the call UI to transtion from picture in picture to fullscreen. Calls to this function will be ignored when the UI is already in fullscreen mode.

    Since

    3.7.0

    Declaration

    Swift

    @objc(hidePictureInPictureAnimated:completion:)
    public func hidePictureInPicture(animated: Bool, completion: ((Error?) -> Void)? = nil)

    Parameters

    animated

    A flag indicating if the transition should be animated or not.

    completion

    A callback signaling whether the transition succeed or not. May be nil.