swapToShowShareViewOrVideo is not working as intended


I am trying to perform the action of below button (in red) using swapToShowShareViewOrVideo but it doesn’t seem to work. It always returns ZoomSDKError(rawValue: 4)

Screenshot 2021-01-13 at 18.52.11

Here is my code for it.

func swapToShowShareViewOrVideo() {
    let shouldSwap = !(sdkMeetingActionController?.isDisplayingShareViewOrVideo() ?? false)
    let result = sdkMeetingActionController?.swap(toShowShareViewOrVideo: shouldSwap)
    print("swap(toShowShareViewOrVideo \(shouldSwap)) result: \(String(describing: result))")

Here are some logs which can be useful.

po sdkMeetingActionController?.isDisplayingShareViewOrVideo()
▿ Optional<Bool>
  - some : true

po sdkMeetingActionController?.canSwapToShowShareViewOrVideo()
▿ Optional<Bool>
  - some : false

swap(toShowShareViewOrVideo false) result: Optional(__C.ZoomSDKError(rawValue: 4))

I checked my code and everything seems to be fine, Can you please let me know what could be the reason for error code 4?
I think this use to work in older version of SDK, but after upgrading to 5.4.54528.1230 it doesn’t work.

Related to that, isDisplayingShareViewOrVideo() is not returning value as false, in case my video is visible in the UI and not the sharing screen.

Please review my code and let me know if I am doing something wrong.

Which version?

To Reproduce(If applicable)
Steps to reproduce the behavior:

  1. Join a meeting with multiple participants, with somebody sharing the screen and video.
  2. Call the function swapToShowShareViewOrVideo with true/false based on isDisplayingShareViewOrVideo
  3. Check the response code of function call
  4. See error

I can confirm there are definitely some differences in latest SDK update vs 5.2.42037.1112
I am always getting isDisplayingShareViewOrVideo false in old SDK but in new one it is always true

po sdkMeetingActionController?.isDisplayingShareViewOrVideo()
▿ Optional<Bool>
  - some : false

In both versions calling swapToShowShareViewOrVideo returns ZoomSDKError(rawValue: 4)

Correction: (I can’t edit my previous reply)

In both versions calling swapToShowShareViewOrVideo returns ZoomSDKError(rawValue: 4), even though the user is sharing screen and the video is on

Hi @j_a_z_z, thanks for the post.

I can certainly see where the confusion comes from regarding the methods around this feature. Please allow me some time to gather the requirements internally around the behavior for this so that we can work on making these interfaces clearer.

I am sure that, as we are looking into the expected behavior of these swap-related methods, we will also be able to improve the readability/usability of this flow.

In the meantime, it will take some time to investigate the proper usage of these methods, which will require a bit of testing internally. As soon as we have anything concrete on either front, you will be the first to know. :slightly_smiling_face:


@jon.lieblich as @j_a_z_z pointed out this method worked with the previous version of the SDK now it stopped. We cannot however go to previous version because in that version the floating interface calls don’t work.

Hi @tmiskiew,

Thanks for clarifying that this was working properly in the previous release of the SDK.

I think I could have been a little clearer in my explanation, so apologies for that. We are going to investigate what caused this method to stop working and fix it in a future version. In addition to restoring the functionality to match that of the previous version, we will also investigate whether or not we can improve the usability of the swapToShowShareViewOrVideo and isDisplayingShareViewOrVideo methods.

The reasoning for the second action is that we have made note that the wording and return types of these methods are not as intuitive as they could be, so we would like to see if that’s something we can improve significantly without major breaking changes.

Please let me know if any of this is unclear and I will be happy to clarify further.


I think everything is clear it it’s only that the latest sdk update broke our app… if Zoom releases a bug free sdk one day I will copy it to diskettes and lock it in a safe :joy: We would really appreciate if you could get this fixed without breaking anything else. We want to launch our product and we can’t because if this and numerous other bugs.

Hi @tmiskiew,

I think everything is clear it it’s only that the latest sdk update broke our app

Absolutely agreed, we will definitely work on getting the change that introduced this behavior reverted!

We would really appreciate if you could get this fixed without breaking anything else

No need to worry. If we make any additional changes alongside this fix, they would be surface level changes that couldn’t impact the underlying logic. The largest change I could see happening around this would be renaming a couple of methods for the sake of clarity. :slightly_smiling_face: