iOS SDK User touches / Interaction blocked by 'Waiting' spinner over Video Preview

We are using the default / built in SDK Zoom UI in our integration and notice that the App can get in a state where user interaction, touches are blocked by the Zoom join meeting ‘Waiting’ spinner.

The issue occurs if the user joins a meeting that hasn’t been started by the host yet, and the meeting is configured with ‘Participant Video’ set to ‘on’

In this case when a user joins the meeting they get presented with the Video preview view and the ‘Waiting’ spinner on top which blocks UI interaction - see screenshot - Even if the meeting is started at this point by the host then it still won’t join the meeting and the App has to be killed.

Which iOS Client SDK version?

To Reproduce(If applicable)
As description

Smartphone (please complete the following information):
iPad iOS 14.x (Tried several iOS versions)


Hey @rjones,

Thanks for using the dev forum!

That doesnt sound good! Can you run the MobileRTCSample application included with the SDK package and let me know if you see the same issue for the same meeting in that app?


Hi Michael,

Thanks for your response and apologies for the delay, I had a few days off so only just noticed your response.

So I tried it with the Sample app and it doesnt appear to happen with that, however we are passing some parameters into the meetingService in our app like the meetingId and Display name etc so we don’t get the same prompts and workflow as the sample app.

The ‘Waiting’ spinner is defiantly coming from the MobileRTC SDK and doesn’t appear to be under our control, but correct em if I’m wrong on that.


Hey @rjones,

No worries at all :slight_smile:
That waiting spinner is indeed controlled by the SDK. Would you mind sharing your code so I can take a look?


Sure, this our main code to join the meeting.
It’s pretty basic and I don’t believe we’re doing anything out of the ordinary.

Obviously the SDK/Service authorisation is done prior to this step.

    private func startZoomMeeting() {
        let meetingId = meetingDetails?.meetingId,
        let meetingPassword = meetingDetails?.meetingPassword,
        let zoomService = MobileRTC.shared().getMeetingService(),
        let navController = navigationController
    else {
        delegate?.zoomErrorHandler(category: .meetingError, description: "Required dependancies are unavailable")
        logMessage("Required dependancies are unavailable")

    zoomService.delegate = self

    // Set the root navigation controller

    // initialize a parameter dictionary to store parameters.
    let joinParams = MobileRTCMeetingJoinParam()
    joinParams.userName = meetingDetails?.displayName
    joinParams.meetingNumber = meetingId;
    joinParams.password = meetingPassword;

    let response = zoomService.joinMeeting(with: joinParams)

Hey @rjones,

Hmm, that is interesting your code looks fine. Are you using scenedelegates? Do you have ApplicationSceneManifest in your info.plist?
Are you seeing this on the latest version as well?


Hey Michael,

We use an AppDelegate, so no UIApplicationSceneManifest key.

I will have to try the very latest SDK release and see. We don’t usually follow ‘leading-edge’ releases and normally ‘lock-in’ any 3rd party dependencies early in our release cycle since we have to go through quite a sizeable QA/Test process for our App. QA don’t like us swapping out mid-release unless it’s fixes know critical or security issues, as it means having to redo regression.

However I’ll defiantly test it out and post back.

Hey @rjones,

That makes sense. Since you are only 1 version behind, I do not think updating will have a big impact here, but it is always worth a shot. Let me know what happens. If you do see this happen in the newest release can you provide your SDK logs, code, and reproduction steps in an email to Please mention my name so that it goes directly to me.


This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.