Zoom is not presenting meeting over controller

Hello,
I am implementing Zoom to iOS using SDK. The problem is, meeting screen is not showing up. All the configuration set properly (I tried the same config with a clean project and everything worked just fine).
I thought maybe it can’t be presented due to hierarchy, but there’s nothing in logs (sometimes it shows error that controller can’t be presented) and also I tried setting blank controller as a rootViewController, but Zoom still didn’t present anything over it.

The way I am starting meeting:
let ms = MobileRTCMeetingService()
var param: MobileRTCMeetingStartParam? = nil
let user = MobileRTCMeetingStartParam4LoginlUser()
param = user
param?.noAudio = false
param?.noVideo = false
param?.isAppShare = false
DispatchQueue.main.async {
if let param = param {
let error = ms.startMeeting(with: param)
print(“STARTED”, error)
}
}

It returns me:
MobileRTCMeetError(rawValue: 0) (As much as I understand, meaning success)

Also, if I try to start the meeting second time, it will return me error 152 (The meeting is already in progress), meaning that the meeting starts successfully, but it just doesn’t change anything for user.

And yeah, I tried:
MobileRTC.shared().setMobileRTCRootController(self.navigationController)

it didn’t help :frowning:

IMPORTANT!
Also, logs return me this message:
**Cannot retrieve the container URL for the application group identifier group.us.zoom. Make sure that it has been added to the com.apple.security.application-groups entitlement.**
I read that it happens when you use screenshare sdk, but we’re not using it anywhere and we’re not assigning anything to group id etc

Thank you.

SDK version is v4.4.57220.1211

Hi muhannad,

Thanks for the post, and thanks for providing the information. The code snippet looks good, and the return value 0 means the meeting is on but just the view is not showing up. Are you using SceneDelegate or just AppDelegate?

Regarding the group ID, that group ID is only included in the demo app’s entitlement:https://github.com/zoom/zoom-sdk-ios/search?q=group.us.zoom&unscoped_q=group.us.zoom, if you are using screen share, you might need to follow the instruction here to configure the screen sharing feature: https://marketplace.zoom.us/docs/sdk/native-sdks/iOS/mastering-zoom-sdk/in-meeting-function/zoom-meeting-ui/screen-share, if you are not using screen share, you may just remove the screen share framework and the extension from your project.

Hope this helps. Thanks!

Hi, I am having the exact same problem. The meeting is connecting, I can hear the sound, the video and sound is available for the host, but the user on iOS SDK cannot see anything. I am sure I am missing something obvious, please could you point me in the right direction?

I have managed to resolve this by removing the sceneDelegate and ensuring the line:

self.modalPresentationStyle = UIModalPresentationFullScreen;

is in the ‘.m’ file of the view controller joining the meeting.

Hi danielrothwell,

Thanks for using Zoom SDK and glad to hear that you have resolved this issue. Yes, our iOS SDK does not support sceneDelegate at the moment since we are not supporting Xcode 11 yet. We are working on bringing the support.

Thanks!

I am also facing the same issue of meeting ui not launching with above code but meeting error is showing success, any idea why?

Same works with fresh application but not in our app. Any guess on what may be the issue?
Also I observe meeting UI is visible in view hirearchy of Xcode but not in simulator

Hi srudrappa,

Thanks for using Zoom SDK. If the meeting error returns success, it means the meeting is on. Did you configure the window and the root view controller? Could you provide more information of how you encounter with the issue you are mentioning? The code snippet above seems good, and it won’t cause the issue you are mentioning.

Thanks!

Hello @Carson_Chen

  • Our application as window with root ViewController
  • RootViewController as another child ViewController
  • Child ViewController as 4 sub child view-controllers
  • In that 4 sub child view controller one is NavigationController
  • Above this navigation controller we have launched one view controller with full screen mode
  • On this presented full screen mode ViewController we are calling this start meeting method
  • But start method doesn’t open standard meeting UI controller from SDK when we call ms.startMeeting(with: param)
  • But custom meeting UI controller we can see opening when we call ms.startMeeting(with: param)

So can you please help us t figure out what issue might be causing this as we don’t have code access in SDK to debug the standard meeting UI appearance

Thanks!

Hey @srudrappa ,

Are you still experiencing this issue?

Thanks,
Tommy

Yes @Tommy I am still experiencing it

@tommy any update on this issue?

Has there been any resolution on this issue?
I started seeing this problem today.

We’ve had screen sharing in our app working for the past two months. It stopped working something today when we try joining a meeting.

On the main Zoom application, after I hit admit to admit the iOS client into the meeting, it goes away and the request for the client to be admitted comes back. The client is never successfully admitted into the meeting

Facing the same issue, but only on first app launch

Code-

extension AppDelegate {

func joinMeetingWith(meetingNo:String, meetingPass:String, meetingTitle:String, username:String) {
    
    guard MobileRTC.shared().isRTCAuthorized() else {
        
        return
    }
    
    if let service = MobileRTC.shared().getMeetingService(),
        let setttings = MobileRTC.shared().getMeetingSettings() {
        
        setttings.disableMinimizeMeeting(true)
        setttings.meetingShareHidden = true
        setttings.meetingPasswordHidden = true
        
        if service.getMeetingState() != MobileRTCMeetingState_Idle {
            service.leaveMeeting(with: LeaveMeetingCmd.init(0))
            return
        }
        
        service.customizeMeetingTitle(meetingTitle)
        
        let meetingDict = [
            kMeetingParam_Username:username,
            kMeetingParam_MeetingNumber:meetingNo,
            kMeetingParam_MeetingPassword:meetingPass
        ] as [AnyHashable : Any]
        
        service.delegate = self
        
        let returnedError = service.joinMeeting(with: meetingDict)
        service.showMinimizeMeetingFromZoomUIMeeting()
        print("onJoinaMeeting ret:\(returnedError)")
        service.joinMeeting(with: meetingDict)
    }
    
}

func setSlideMenuController(mainViewController:UINavigationController, leftMenuViewController: UIViewController, delegate: SlideMenuControllerDelegate?) {
    
    let context = MobileRTCSDKInitContext()
    context.domain        = kSDKDomain
    context.enableLog     = true
    context.locale        = .default
    context.bundleResPath = Bundle.main.bundlePath
    context.appGroupId    = ""
    
    let initSuccess = MobileRTC.shared().initialize(context)
    print("initializeSuccessful======>\(initSuccess)")
    print("MobileRTC Version: \(MobileRTC.shared().mobileRTCVersion() ?? "none found")")
    mainViewController.modalPresentationStyle = .fullScreen
    MobileRTC.shared().setMobileRTCRootController(mainViewController)
    
    if let authService = MobileRTC.shared().getAuthService() {
        
        authService.delegate     = self
        authService.clientKey    = kSDKAppKey
        authService.clientSecret = kSDKAppSecret
        authService.jwtToken     = ""
        authService.sdkAuth()
        
        let slideMenuController = PEBaseViewController(mainViewController:mainViewController, leftMenuViewController: leftMenuViewController )
        slideMenuController.automaticallyAdjustsScrollViewInsets = true
        self.window?.backgroundColor = UIColor(red: 236.0, green: 238.0, blue: 241.0, alpha: 1.0)
        self.window?.rootViewController = slideMenuController
        self.window?.makeKeyAndVisible()
    }
}

}

Hi @chaitanya,

What is the SDK version you are using?

Thanks!