# MobileRTCMeetError - invalidArguments

**URL:** <https://devforum.zoom.us/t/mobilertcmeeterror-invalidarguments/66415>\
**Category:** iOS\
**Created:** [March 25, 2022, 7:08am UTC](https://devforum.zoom.us/t/mobilertcmeeterror-invalidarguments/66415 "2022-03-25T07:08:53Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![basakertugrul9](https://avatars.discourse-cdn.com/v4/letter/b/e480ec/32.png) [@basakertugrul9](https://devforum.zoom.us/u/basakertugrul9)\
**Post date:** [March 25, 2022, 7:08am UTC](https://devforum.zoom.us/t/mobilertcmeeterror-invalidarguments/66415/1 "2022-03-25T07:08:53Z")

</div>

Hi Zoom Developer Team,

It seems like I can’t start a meeting with Zoom SDK. The return value of startMeeting or joinMeeting is invalidArguments. Please find the related functions below:

```auto
// MARK: Start Meeting Method
    func startMeeting(meetingNumber: String, meetingZak: String, hostID: String) {
        guard MobileRTC.shared().isRTCAuthorized() else {
                return
            }
        if let meetingSettings = MobileRTC.shared().getMeetingSettings() {
            meetingSettings.setMuteAudioWhenJoinMeeting(false)
            meetingSettings.setMuteVideoWhenJoinMeeting(false)
            meetingSettings.setAutoConnectInternetAudio(true)
            meetingSettings.enableCustomMeeting = true
            if let meetingService = MobileRTC.shared().getMeetingService() {
                meetingService.delegate = self
                print("Meeting service delegate set")
                meetingService.customizedUImeetingDelegate = self
                print("Meeting service customizedUImeetingDelegate set")
                meetingService.canUnmuteMyVideo()
                meetingService.canUnmuteMyAudio()
                let startMeetingParameters = MobileRTCMeetingStartParam4WithoutLoginUser()
                startMeetingParameters.meetingNumber = meetingNumber
                startMeetingParameters.zak = meetingZak
                let firstname: String = UserDefaults.user?.firstName ?? ""
                let lastname: String = UserDefaults.user?.lastName ?? ""
                let title: String = UserDefaults.user?.title ?? ""
                let userName: String = "\(firstname) \(lastname) \(title)"
                startMeetingParameters.userName = userName
                startMeetingParameters.userType = .apiUser
                startMeetingParameters.userID = hostID
                let bool = meetingService.startMeeting(with: startMeetingParameters)
                print(bool)
            }
        }
    }
    // MARK: Join Meeting Method
    func joinMeeting(meetingNumber: String, meetingZak: String, meetingPassword: String) {
        guard MobileRTC.shared().isRTCAuthorized() else {
                return
            }
        if let meetingSettings = MobileRTC.shared().getMeetingSettings() {
            meetingSettings.setMuteAudioWhenJoinMeeting(false)
            meetingSettings.setMuteVideoWhenJoinMeeting(false)
            meetingSettings.setAutoConnectInternetAudio(true)
            meetingSettings.enableCustomMeeting = true
            if let meetingService = MobileRTC.shared().getMeetingService() {
                meetingService.delegate = self
                print("Meeting service delegate set")
                meetingService.customizedUImeetingDelegate = self
                print("Meeting service customizedUImeetingDelegate set")
                meetingService.canUnmuteMyVideo()
                meetingService.canUnmuteMyAudio()
                let joinMeetingParameters = MobileRTCMeetingJoinParam()
                joinMeetingParameters.meetingNumber = meetingNumber
                joinMeetingParameters.zak = meetingZak
                let firstname: String = UserDefaults.user?.firstName ?? ""
                let lastname: String = UserDefaults.user?.lastName ?? ""
                let title: String = UserDefaults.user?.title ?? ""
                let userName: String = "\(firstname) \(lastname) \(title)"
                joinMeetingParameters.userName = userName
// joinMeetingParameters.userType = .apiUser
                joinMeetingParameters.password = meetingPassword
                let bool = meetingService.joinMeeting(with: joinMeetingParameters)
                print(bool)
            }
        }
    }

```

Additionally, SDK gets successfully initialized before I try to start or join a meeting. Also, the callback functions of delegates are not called even for the errors occurring.

I have created a view controller class for the zoom actions (the rest of the app is using SwiftUI as framework) and I make sure it’s extending from MobileRTCCustomizedUIMeetingDelegate, MobileRTCVideoServiceDelegate. I have an other class called ZoomConnection for the MobileRTCAuthDelegate.

The device I’m using for testing is iPhone 11.  
Since I cannot attach the log file here, I used wetransfer: [WeTransfer - Send Large Files & Share Photos Online - Up to 2GB Free](https://we.tl/t-jtvq3YqLDl)

Have a nice day!

---

<div class="post-metadata">

**Author:** ![jon.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/jon.zoom/32/13495_2.png) [@jon.zoom](https://devforum.zoom.us/u/jon.zoom)\
**Post date:** [March 25, 2022, 6:38pm UTC](https://devforum.zoom.us/t/mobilertcmeeterror-invalidarguments/66415/2 "2022-03-25T18:38:52Z")

</div>

Hi @basakertugrul9, thanks for using the dev forum.

I see that there are several strings being passed into the SDK, but cannot see whether or not they have non-empty values. Can you please confirm which ones have non-empty values assigned? Also, which log file in your upload contains the logs from a session where you failed to join a meeting?

Thanks!

---

<div class="post-metadata">

**Author:** ![basakertugrul9](https://avatars.discourse-cdn.com/v4/letter/b/e480ec/32.png) [@basakertugrul9](https://devforum.zoom.us/u/basakertugrul9)\
**Post date:** [March 26, 2022, 1:27pm UTC](https://devforum.zoom.us/t/mobilertcmeeterror-invalidarguments/66415/3 "2022-03-26T13:27:44Z")

</div>

Hello Jon,  
I double checked the parameters and I realized that one of them was printed as “Optional(…)” in the console. So I changed the string interpolation method and then the error was gone!  
Thank you for your guidance in this matter.

---

<div class="post-metadata">

**Author:** ![jon.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/jon.zoom/32/13495_2.png) [@jon.zoom](https://devforum.zoom.us/u/jon.zoom)\
**Post date:** [March 28, 2022, 7:53pm UTC](https://devforum.zoom.us/t/mobilertcmeeterror-invalidarguments/66415/4 "2022-03-28T19:53:38Z")

</div>

Glad to hear you were able to resolve this!

Please don’t hesitate to reach back out in a new topic with any additional questions. 🙂

---

<div class="post-metadata">

**Author:** ![jon.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/jon.zoom/32/13495_2.png) [@jon.zoom](https://devforum.zoom.us/u/jon.zoom)\
**Post date:** [March 28, 2022, 7:53pm UTC](https://devforum.zoom.us/t/mobilertcmeeterror-invalidarguments/66415/5 "2022-03-28T19:53:41Z")

</div>

Closed on March 28, 2022, 7:53pm UTC


