CallWindow

@objc(BDKCallWindow)
public class CallWindow : UIWindow

A UIWindow subclass having a BDKCallViewControllerinstance as its rootViewController.

  • The window unique instance.

    Declaration

    Swift

    @objc
    public private(set) weak static var instance: CallWindow { get }
  • The window’s delegate.

    Declaration

    Swift

    @objc
    public weak var callDelegate: CallWindowDelegate
  • The intent used to start the BDKCallViewController.

    Declaration

    Swift

    @objc
    public private(set) var intent: BDKIntent? { get }

Initialization

  • Initialize a CallWindow instance.

    Warning

    Init the window only one at a time, otherwise a fatal error is thrown.

    Declaration

    Swift

    @objc
    public convenience init()
  • Initialize a CallWindow instance already associated with a given UIWindowScene instance,

    Warning

    Init the window only one at a time, otherwise a fatal error is thrown.

    Declaration

    Swift

    @available(iOS 13.0, *)
    @objc
    public override init(windowScene: UIWindowScene)

    Parameters

    windowScene

    The UIWindowScene instance.

Presentation

  • Presents a BDKCallViewController as its root view controller. If there is already another active call being handled an error will be raised and reported in the completion block provided as second argument.

    Declaration

    Swift

    @available(*, deprecated, message: "Use presentCallViewController(for:completion:﹚ method instead.")
    @objc
    public func shouldPresentCallViewController(intent: BDKIntent?, completion: @escaping (Bool) -> Void)

    Parameters

    intent

    The intent object to be handled by the receiver.

    completion

    The completion called at the end of the method job. Returns true if the presentation will start, otherwise returns false.

  • Presents a BDKCallViewController as its root view controller. If there is already another active call being handled an error will be raised and reported in the completion block provided as second argument.

    Declaration

    Swift

    @objc
    public func presentCallViewController(for intent: BDKIntent, completion: ((Error?) -> Void)? = nil)

    Parameters

    intent

    The intent object to be handled by the receiver.

    completion

    The completion called at the end of the method job. Returns no error if the presentation will start, otherwise returns an error of type BDKCallPresentationError.

Dismissal

Configuration

  • Sets the call view controller configuration to be used by the BDKCallViewControllerinstance managed by this window.

    Remark

    The configuration argument provided is copied.

    Declaration

    Swift

    @objc
    public func setConfiguration(_ configuration: CallViewControllerConfiguration?)

    Parameters

    configuration

    The call view controller configuration to be used by the BDKCallViewControllerinstance managed by this window.

SiriKit intents handling

  • 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 on behalf of the user you must call this method with the INStartVideoCallIntent received in your AppDelegate.

    Declaration

    Swift

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

    Parameters

    intent

    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 on behalf of the user you must call this method with the INStartCallIntent received in your AppDelegate.

    Declaration

    Swift

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

    Parameters

    intent

    The INStartCallIntent received in your AppDelegate.