Re-initialize SDK with a different JWT token

We are adding the Zoom Meeting SDK to our iOS and Android apps, and due to how our backend is set up, it is possible for us to have to re-initialize the SDK with different JWT token values within the same app “session”.

The idea is to have a pre-meeting screen where we obtain the JWT from our backend, initialize the SDK and then join a meeting. When the meeting is done, we’ll “uninitialize” the SDK and dismiss our UI, allowing the process to begin again in the future with a potentially different JWT token.

On Android, this approach is working fine. I’m able to call ZoomSDK.getInstance().uninitialize() when the meeting is done, and then later call initialize without issue. However, I haven’t been able to do the same on iOS. The MobileRTC class has no uninitialize method, and the closest I found was cleanup. However, calling that seems to put the shared MobileRTC instance in a weird state: it apparently works, but some time after I join a second meeting, the app will crash with a EXC_BAD_ACCESS (code=EXC_I386_GPFLT) and a completely obscure stack trace.

These are the variations I tried, and the results:

  • Using MobileRTC.shared()
    • simply not doing anything when the meeting ends and later just calling initialize again → the method call returns false
    • calling cleanup when the meeting ends and then later calling initialize again → behavior I mentioned above
  • Creating a new instance of MobileRTC myself
    • apparently this is not supported. An instance created like that will never succeed at the initialize call

I do have logging enable, so I can share the log file if you just tell me the best way to do so.

Which iOS Meeting SDK version?

Thanks in advance.

Just one hopeful bump before this thread gets closed automatically.

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