SDK crashes when custom disclaimer is enabled

Description
For quite some time the largest crash by incident count in our app has been due to an unrecognized selector SIGABRT originating in the MobileRTC code. We have finally been able to reproduce it reliably. Specifically, it appears that the Zoom SDK is attempting to access the rootViewController property of one of our UIViewController instances. Since rootViewController is not defined on UIViewController it would crash with “unrecognized selector sent to instance”.

Which iOS Meeting SDK version?
All recent SDKs.

To Reproduce(If applicable)

  1. On the web, sign in to Zoom account
  2. Navigate to User Management > Groups > View the group in the list > Meeting
  3. Enable the setting “Show a custom disclaimer when starting or joining a meeting”
  4. Set it to appear for all users, every time, and add a message

In the SDK, enable custom meeting UI (the issue only appears with custom enabled). When joining a meeting you will be prompted to agree to the disclaimer. Agree. It may take joining and leaving the meeting a couple times when it will crash due to the issue mentioned above. Can happen on the first attempt, usually happens for me on the second attempt, I’ve never failed to recreate it with at least 5 attempts.

Smartphone (please complete the following information):

  • Device: iPhone / iPad
  • OS: iOS 15, 16, 17

@azanton not sure if this related to the issue you posted: Crash when custom disclaimer is shown on iOS16

Did you ever get a resolution?

Hi @jeremy.provost, ours was fixed by updating the SDK. At the moment we’re currently using v5.16.12 and there are no reported issues so far.

@azanton thanks. In our case, we see it with the latest version of the SDK.

1 Like

Hi @elaine.ku. We wanted to check if there is any update from Zoom about this issue. It is our top crash and is reproducible. Thanks!

Hi @jeremy.provost ,

Thank you for posting on our dev forum.
I tested a few times using our sample App and was not able to reproduce the crash . Were you able to reproduce it with our sample App?
Thank you

Elaine

We think we’ve found the difference. In the sample app, the custom UI view controller has its view added directly to the main view controller’s view. Whereas in our app, we use present to present our custom UI view controller as a full screen modal. If you wanted to make this work for truly custom UI, it would be great if it supported using present. Everything else seems to work perfectly except for this one case of having a custom disclaimer. It’s only in this case that we are seeing crashes.