Reachability disturbs Zoom Meeting

Description
I was facing few issues in Zoom Meeting and was not able to find the reason. Then I observed, there was an observer calling to check network availability in the app. When I commented it, Zoom worked fine. Seems like its not compatible with zoom

Which iOS Meeting SDK version?
5.7.6

Smartphone (please complete the following information):

  • Device: iPhone 11
  • OS:14.5

Additional context

This is code to observe network:

ConnectionManager.sharedInstance.observeReachability()

class ConnectionManager {
static let sharedInstance = ConnectionManager()
private var reachability : Reachability!
private var wasDisconnected = false

func observeReachability(){

    NotificationCenter.default.addObserver(
        self,
        selector: #selector(self.reachabilityChanged(_:)),
        name: .reachabilityChanged,
        object: reachability
    )
    
    do {
        try self.reachability = Reachability()
        try self.reachability.startNotifier()
    }
    catch(let error) {
        print("Error occured while starting reachability notifications : \(error.localizedDescription)")
    }
}

func removeObserver(){
    reachability.stopNotifier()
}

@objc func reachabilityChanged(_ note: Notification) {
let reachability = note.object as! Reachability
switch reachability.connection {
case .cellular:
print(“Network available via Cellular Data.”)
hideBanner()
break
case .wifi:
print(“Network available via WiFi.”)
hideBanner()
break
case .none:
print(“Network is not available.”)
showBanner()

        break
    case .unavailable:
        print("Network is nottttttt available.")

        showBanner()
    }
}

}

Hi, @rabia,

Thank you for posting. Can you share more context on the behavior you were seeing in the Zoom meeting prior to commenting out observeReachability()? An example screenshot or screen recording would be helpful in diagnosing what may be happening.

Best,
Donte

Hey @donte.S thanks for your response, Here I am attaching screenshot of meeting screen. When this network observer is active and I do zoom meeting. And in meeting when I tap on End button, it does nothing. But when I comment this observer code, End button works fine.


Sorry, Forgot to attach screen.

Can you please respond me on this?

Hi @rabia

Can you send us the Xcode console logs when you click on the End button. We would be able to tell if the SDK code is executed and what happened. I do not think that reachability code will affect end meeting functionality until and unless there is some other error in the custom app.

Unfortunately, I am not receiving any logs while tapping on End button. As for as concern is about some other error, may be its possible but, its strange when I comment Reachability code, it works fine. Can you guide me, how can I get logs?

Here I am attaching logs, may be helpful for you:

When it doesn’t work, here are the logs:
SDK successfully initialized.

error was 0

Successfully logged in

error was 0

Current meeting state: 1

Join meeting confirmed.

Current meeting state: 1

2022-02-24 12:38:38.052631+0500 ReTeam[1127:64095] Metal API Validation Enabled

Current meeting state: 1

2022-02-24 12:38:49.835942+0500 ReTeam[1127:64095] [User Defaults] Couldn’t read values in CFPrefsPlistSource<0x282719c80> (Domain: group.zoom.screenshare, User: kCFPreferencesAnyUser, ByHost: Yes, Container: (null), Contents Need Refresh: Yes): Using kCFPreferencesAnyUser with a container is only allowed for System Containers, detaching from cfprefsd

Successful meeting operation.

2022-02-24 12:38:50.301813+0500 ReTeam[1127:64095] CreateAudioUnit use hardware aec = 1

2022-02-24 12:38:50.685585+0500 ReTeam[1127:64095] [IOS].CreateAudioUnit g_audioUinits.count = 1

2022-02-24 12:38:51.876516+0500 ReTeam[1127:64557] [Client] Updating selectors after delegate removal failed with: Error Domain=NSCocoaErrorDomain Code=4099 “The connection to service on pid 87 named com.apple.commcenter.coretelephony.xpc was invalidated from this process.” UserInfo={NSDebugDescription=The connection to service on pid 87 named com.apple.commcenter.coretelephony.xpc was invalidated from this process.}

Current meeting state: 3
When it works fine, these are the logs:

Successfully logged in

Current meeting state: 1

Join meeting confirmed.

Current meeting state: 1

2022-02-24 12:36:50.915542+0500 ReTeam[1114:62843] Metal API Validation Enabled

Current meeting state: 1

2022-02-24 12:36:54.986485+0500 ReTeam[1114:62843] [User Defaults] Couldn’t read values in CFPrefsPlistSource<0x281b41200> (Domain: group.zoom.screenshare, User: kCFPreferencesAnyUser, ByHost: Yes, Container: (null), Contents Need Refresh: Yes): Using kCFPreferencesAnyUser with a container is only allowed for System Containers, detaching from cfprefsd

Current meeting state: 4

Current meeting state: 1

Current meeting state: 7

2022-02-24 12:36:59.588875+0500 ReTeam[1114:63310] [] quic_frame_acknowledged_STREAM [C1.1.1:2] [72c4494bc6e1a5e8-d838252e759a881b] unable to look up stream 4

2022-02-24 12:36:59.589157+0500 ReTeam[1114:63310] [] nw_protocol_instance_access_flow_state [C1.1.1:2] Failed to find flow 0

I have fixed this issue, Actual issues was not Reachability. Issues was linked with view that I was showing on window on the basis of internet.

This line was useless, when I removed it, it worked fine.
window?.windowLevel = UIWindow.Level.statusBar

Thanks all for your help.

Its great that the issue is resolved. If you have any further questions about SDK integration, do not hesitate to contact us again.