Stuck on waiting loader of zoom on iOS Zoom SDK

Description
I have integrated zoom iOS SDK in my application and customized waiting room UI. But unfortunately the app is working perfectly fine when I am trying to join that meeting using iOS simulators. It also displays waiting room.
But when I try to join same meeting and same flow from iPhone device it keeps showing waiting loader. Also the delegate methods are not being called when joined from device.

Smartphone (please complete the following information):

  • Device: [iPhone6s,All Devices]
  • OS: [ iOS 14.0.1]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

Hey @mubashshir.shaikh199

Thanks for using the developer forum!

That is very strange. Using the same code in the simulator allows meetings to be joined successfully, but on device it hangs?

Could you provide a screenshot of the waiting loader and the code you are using to join the meeting?

Thanks!
Michael

Yes
I have shared the screenshot below

func joinMeeting(meetingId: String, password: String?, username: String?, zak: String?){
    guard isAPIAuthenticated, let meetingService = MobileRTC.shared().getMeetingService() else {return}
    meetingService.delegate = self
    
    let meetingParam = MobileRTCMeetingJoinParam()
    meetingParam.userName = username
    meetingParam.meetingNumber = meetingId
    meetingParam.password = password
    
    let meeting = MobileRTC.shared().getMeetingSettings()
    meeting?.topBarHidden = true
    meeting?.meetingInviteHidden = true
    
    
    let returnValue = meetingService.joinMeeting(with: meetingParam)
    print("joining meeting")
    
    guard returnValue == MobileRTCMeetError_Success else {
        print("Zoom: Join meeting task failed, error code: \(returnValue.rawValue)")
        return
    }
    print("Zoom: Join meeting task completed.")
}

Hey @mubashshir.shaikh199

Thank you for providing this, this is very helpful.

A few more troubleshooting questions:

  1. You are using the same JWT (or sdk key and secret) when authenticating the SDK for both sim and device correct?
  2. Would it be possible to call meetingService.delegate = self before that function? I am curious if it is possible that the line that assigns the delegate is in a race condition with joining the meeting.

Thanks!
Michael

please mention the “MobileRTC.shared().getMeetingSettings()” and enable meetingSettings.enableCustomMeeting = true
before initializing getMeetingService()…
And enable webinarDelegate…
in that you have to provide values of userName,userEmail in onSinkJoinWebinarNeedUserNameAndEmail method

_ = completion(userName,userEmail,false)
Hope this works now!!

func joinMeeting(meetingId: String, password: String?, username: String?, zak: String?){

let meeting = MobileRTC.shared().getMeetingSettings()
meeting.enableCustomMeeting = true

guard isAPIAuthenticated, let meetingService = MobileRTC.shared().getMeetingService() else {return}
meetingService.delegate = self

let meetingParam = MobileRTCMeetingJoinParam()
meetingParam.userName = username
meetingParam.meetingNumber = meetingId
meetingParam.password = password


meeting?.topBarHidden = true
meeting?.meetingInviteHidden = true


let returnValue = meetingService.joinMeeting(with: meetingParam)
print("joining meeting")

guard returnValue == MobileRTCMeetError_Success else {
    print("Zoom: Join meeting task failed, error code: \(returnValue.rawValue)")
    return
}
print("Zoom: Join meeting task completed.")

}

Thanks for helping out, @ankitp2!