SPM for Zoom Video SDK IOS

Our team is trying to migrate to the latest version of the Zoom Video SDK for iOS. We’ve noticed that newer versions like 2.4.0 and 2.4.5 are available on the main branch, but the Swift Package Manager distribution is still far behind. When would the latest Video SDK will be available via SPM?

Hi,

@ekaansh.zoom and @boonjun.tan is there is a timeline on when the latest versions would be available on spm?

Hi @prw3100 sorry about that, escalating internally to get this released on SPM.

Thank you @ekaansh.zoom

Hi @ekaansh.zoom,

We’ve confirmed that the latest version of the Zoom SDK V2.4.5 is now available via SPM. During testing, however, we noticed a memory leak when toggling video. Specifically, when running the function:

private func handleVideoToggle(_ tabBar: UITabBar)

as referenced here ( Getting started with Zoom Video SDK for iOS - UIKit ), the issue consistently reproduces. A screenshot of the leak is attached for reference.

Is there anyway to avoid this leak? If not, could you please let us know whether a fix is already planned for the next release, and if so, what the expected timeline looks like?

Thanks

Hi @prw3100,

Is the leak also found in the main sample app that was shipped together with the SDK framework in Zoom’s marketplace? Or have you tested it out in your own application and also observed this leak? I will take a look at this quick start sample app and fix the leak issue.

Hi @boonjun.tan,
The leak was reproduced in dump down version of the the main sample app. Additionally, i am seeing memory leaks in v2.4.12 as well

Hi @prw3100 ,

I have reported this issue previously and our engineers will investigate it. I will update you again with the new status later on.

1 Like

Hi @prw3100,

I have confirmed that there is a memory leak with the VSDK iOS quick start sample app and we will fix that. However, this is not observed for the main sample app that is packaged together with our VSD. In addition, when you are integrating our VSDK into your application, are you also getting memory leak?

Hi @boonjun.tan ,
On our sample app we use the same way described in the Getting Stated Tutorial to toggle the video and thats probably why we are getting the leak

"private func handleVideoToggle(_ tabBar: UITabBar) {
tabBar.items![ControlOption.toggleVideo.rawValue].isEnabled = false

guard let canvas = ZoomVideoSDK.shareInstance()?.getSession()?.getMySelf()?.getVideoCanvas(),
        let videoHelper = ZoomVideoSDK.shareInstance()?.getVideoHelper(),
        let isVideoOn = canvas.videoStatus()?.on else { return }

Task(priority: .background) {
    let _ = isVideoOn ? videoHelper.stopVideo() : videoHelper.startVideo()
    // Update UI to reflect new video state
    let newVideoState = !isVideoOn
    self.toggleVideoBarItem.title = newVideoState ? "Stop Video" : "Start Video"
    self.toggleVideoBarItem.image = UIImage(systemName: newVideoState ? "video.slash" : "video")
    self.localPlaceholder?.isHidden = newVideoState
}

tabBar.items![ControlOption.toggleVideo.rawValue].isEnabled = true

}"

It’s interesting that you don’t see the leak on the main sample app. Does this mean, theres another way to toggle video that doesn’t produce a leak?