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:
// 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
Have a nice day!