CallWindow

@available(iOS 12.0, *)
@objc(BDKCallWindow)
public class CallWindow : UIWindow
extension CallWindow: CallViewControllerDelegate

A UIWindow subclass having a CallViewControllerinstance as its rootViewController.

Weak singleton instance

  • The window unique instance.

    Declaration

    Swift

    @objc
    public private(set) weak static var instance: CallWindow? { get }

Delegate

Current intent

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 CallViewController 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: Intent, 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.

Dismissal

Configuration

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: 12.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.

Picture in picture

  • 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.

CallViewControllerDelegate