# Functionality of enablingCallKit

**URL:** <https://devforum.zoom.us/t/functionality-of-enablingcallkit/114690>\
**Category:** Video SDK\
**Created:** [July 31, 2024, 2:47am UTC](https://devforum.zoom.us/t/functionality-of-enablingcallkit/114690 "2024-07-31T02:47:34Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![r.yamaguchi](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/r.yamaguchi/32/61925_2.png) [@r.yamaguchi](https://devforum.zoom.us/u/r.yamaguchi)\
**Post date:** [July 31, 2024, 2:47am UTC](https://devforum.zoom.us/t/functionality-of-enablingcallkit/114690/1 "2024-07-31T02:47:34Z")

</div>

In the InitConfig class, even if you specify enableCallKit as false, the initialization of SDKCallKitManager class will still occur with the CXProvider class initialization and delegate.

Therefore, even in cases where you want to prevent the initialization of the CallKit initialization, the initialization and delegate of the CXProvider class in the SDKCallKitManager class will always occur.

It would be appreciated if the initialization process of the SDKCallKitManager class, which has been initialized with the InitConfig class, would take into account the enableCallKit value specified.

・SDK version  
Zoom Video SDK for Flutter  
Version 1.11.2  
flutter-zoom-video-sdk-6.0.2-1.11.2.zip

---

<div class="post-metadata">

**Author:** ![boonjun.tan](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/boonjun.tan/32/38306_2.png) [@boonjun.tan](https://devforum.zoom.us/u/boonjun.tan)\
**Post date:** [August 2, 2024, 7:00am UTC](https://devforum.zoom.us/t/functionality-of-enablingcallkit/114690/2 "2024-08-02T07:00:00Z")

</div>

Hi @r.yamaguchi,

I have checked with our engineers on this and understood from them that we will not initialize the CXProvider class and delegate when the enableCallKit is set as false.

```auto
(instancetype)init {
    self = [super init];
    if (self) {
        if (enableCallKit) {
            if (@available(iOS 10.0, *)) {
                CXProviderConfiguration *providerConfig = [[CXProviderConfiguration alloc] initWithLocalizedName:@"VideoSDK"];
                self.provider = [[CXProvider alloc] initWithConfiguration:providerConfig];
                [self.provider setDelegate:self queue:nil];
                self.callController = [[CXCallController alloc] init];
            }
        }
    }
    return self;
}

```

Thank you.

---

<div class="post-metadata">

**Author:** ![r.yamaguchi](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/r.yamaguchi/32/61925_2.png) [@r.yamaguchi](https://devforum.zoom.us/u/r.yamaguchi)\
**Post date:** [August 6, 2024, 9:17am UTC](https://devforum.zoom.us/t/functionality-of-enablingcallkit/114690/3 "2024-08-06T09:17:00Z")

</div>

Thank you for your reply.  
There seems to be a misunderstanding.

After initializing the SDKCallKitManager class, enableCallKit is set to false.

Therefore, if enableCallKit specified in the InitConfig class is False, please do not execute the following process.

(instancetype)init {

```
self = [super init];

if (self) {

    if (enableCallKit) {

        if (@available(iOS 10.0, *)) {

            CXProviderConfiguration *providerConfig = [[CXProviderConfiguration alloc] initWithLocalizedName:@"VideoSDK"];

            self.provider = [[CXProvider alloc] initWithConfiguration:providerConfig];

            [self.provider setDelegate:self queue:nil];

            self.callController = [[CXCallController alloc] init];

        }

    }

}

return self;

```

}

---

<div class="post-metadata">

**Author:** ![boonjun.tan](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/boonjun.tan/32/38306_2.png) [@boonjun.tan](https://devforum.zoom.us/u/boonjun.tan)\
**Post date:** [August 8, 2024, 2:14am UTC](https://devforum.zoom.us/t/functionality-of-enablingcallkit/114690/4 "2024-08-08T02:14:36Z")

</div>

Hey @r.yamaguchi,

I have checked on my end that if enableCallkit is false, then the SDK don’t initialize CXProvider and its delegate. Perhaps can you send me a video on how you are able to replicate this behaviour for me to take a look at?

Thank you.

---

<div class="post-metadata">

**Author:** ![r.yamaguchi](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/r.yamaguchi/32/61925_2.png) [@r.yamaguchi](https://devforum.zoom.us/u/r.yamaguchi)\
**Post date:** [August 8, 2024, 7:07am UTC](https://devforum.zoom.us/t/functionality-of-enablingcallkit/114690/5 "2024-08-08T07:07:16Z")

</div>

Hello

Since it takes time to shoot a video, please check it from the following points.

To set the enableCallKit variable to false, call the setEnableCallKit function.  
However, to call the setEnableCallKit function, you need to call it in the init function.

Therefore, you cannot call the init function with the enableCallKit variable set to false.

■File  
flutter-zoom-video-sdk-6.0.2-1.11.2.zip  
ios\Classes\PictureInPicture\SDKCallKitManager.m

■Line  
33~51

■Code

> - (instancetype)init {  
> self = [super init];  
> if (self) {  
> if (enableCallKit) {  
> if (@available(iOS 10.0, \*)) {  
> CXProviderConfiguration \*providerConfig = [[CXProviderConfiguration alloc] initWithLocalizedName:@“VideoSDK”];  
> self.provider = [[CXProvider alloc] initWithConfiguration:providerConfig];  
> [self.provider setDelegate:self queue:nil];  
> self.callController = [[CXCallController alloc] init];  
> }  
> }  
> }  
> return self;  
> }

- (void)setEnableCallKit: (BOOL)enable {  
enableCallKit = enable;  
}

---

<div class="post-metadata">

**Author:** ![boonjun.tan](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/boonjun.tan/32/38306_2.png) [@boonjun.tan](https://devforum.zoom.us/u/boonjun.tan)\
**Post date:** [August 13, 2024, 2:41pm UTC](https://devforum.zoom.us/t/functionality-of-enablingcallkit/114690/6 "2024-08-13T14:41:32Z")

</div>

Hello @r.yamaguchi,

The enableCallKit should be set under the InitConfig [here](https://marketplacefront.zoom.us/sdk/custom/flutter/native_zoom_videosdk/InitConfig-class.html) actually. Can I kindly get you to try it out and let me know if you still faced the same issue?

Thank you.
