iOS device auth crash on v4.3.1.47201.0322

Description
I have met lots of crashes on iOS 9.3.5 after I upgrade SDK to v4.3.1.47201.0322

Which version?
v4.3.1.47201.0322

To Reproduce(If applicable)
Steps to reproduce the behavior:

  1. Go to ‘…’
  2. Click on ‘…’
  3. Scroll down to ‘…’
  4. See error

Screenshots
If applicable, add screenshots to help explain your problem.

Smartphone (please complete the following information):

  • Device: iPad
  • OS: iOS 9.3.5, iOS 10.3.3
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.



I have upload some crash stack info. This problem has affected many users. So I hope to solve this problem as soon as possible.

Thanks

Hi dapeng,

Thanks for using Zoom SDK and thanks for providing the crash logs. Based on your logs, the root cause of this issue is the instance of MobileRTCMeetingServiceDelegate was not set to nil after you finish using our Zoom services. We defined the delegate as assign property, which needs to be set nil manually.

@property (nullable, assign, nonatomic) id<MobileRTCMeetingServiceDelegate> delegate;

Setting the delegate to nil should fix this crash. Hope this helps. Thanks!

Hi, Carson,
Thanks for your reply. But this crash was happened at auth step and I never set meetingServcie delegate before auth success. This crash only shows on iOS 9 and iOS 10, and never appear before the SDK upgrade.

Or you mean that I CANT set meetingService delegate before the meeting start? But I follow the same step with the previous SDK and never crashed before.

Hi,
Thanks for prompt reply. Is this error only happens on iOS 9/10? Is it working fine on iOS 11/12?

Yes, It never happed on iOS 11/12, and this crash is not necessarily, lots of user only crash once.

Hi Dapeng,
Thanks for the reply. May I also inquire the following questions:

  1. Is this error only happens on device or or simulator? Is it only happen on certain device(like iPad)?
  2. Could you share some code snippet of how you initialize and call the authentication (auth()), and the meeting service?

Thanks!

  1. Both of iPad and iPhone.
  2. Sample Code:

// AppDelegate.swift
let sharedInstance = Zoom() // this is a singleton

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        sharedInstance.auth()
}

/// Zoom.swift
class Zoom: NSObject {
    private func auth() {
        #if !arch(x86_64)
            MobileRTC.shared().setMobileRTCDomain(API.domain)
            let service = MobileRTC.shared().getAuthService()
            if service != nil {
                service?.clientKey = API.key
                service?.clientSecret = API.secret
                service?.delegate = self
                service?.sdkAuth()
            }
        #endif
    }
}

#if !arch(x86_64)
extension Zoom: MobileRTCAuthDelegate, MobileRTCMeetingServiceDelegate {
    func onMobileRTCAuthReturn(_ returnValue: MobileRTCAuthError) {
        switch returnValue {
        case MobileRTCAuthError_Success:
            MobileRTC.shared()?.getMeetingService()?.delegate = self
        default:
            break
        }
    }
    ///...
}
#endif
...

Hi Dapeng,

Thank you for the info. This is situation is a little bit fishy and we are investigating the issue. I will get back to you as soon as we found anything.

Thank you!

Hi Carson,

Thanks for your reply firstly.

I will downgrade the SDK version to avoid this issue before we can resolve this crash.
Hope that this issue will be resolved as soon as possible.

Hi dapeng,

Hope everything is going well. We would like to provide a build to resolve the crash issue that you are facing. I will send you a forum message in the bit.

Thank you!