[DESCRIPTION OF PROBLEM]
We are developing a service that incorporates the Zoom Video SDK for the web and iOS.
However When Screen Sharing from the web (Chrome Browser/Safari/Microsoft Edge), nothing is displayed on the iOS app during the call.
The iOS App side does not perform âscreen sharingâ, but only displays the content shared on the Web side.
The work in steps 1 to 7 of the developer guide has been bypassed and implemented from step 8,
â8. Manage the display of the shared contentâ. https://developers.zoom.us/docs/video-sdk/ios/share/
(note)
CoreGraphics.framework, CoreVideo.framework, CoreMedia.framework, VideoToolbox.framework and ReplayKit are not integrated into the project.
If the app uses Zoom Video SDK 1.6.4, the shared screen is displayed but crashes, but if it uses 1.7.0 or 1.7.2, it does not crash but nothing is displayed on the screen when shared.
[Step to Procedure]
start a call from the web (Google Chrome)
start a call from the iOS App
The call will start on the web (Google Chrome) and on the iOS App.
The iOS App will know that you have joined the call with ZoomVideoSDKDelegate.onSessionJoin.
4.After the call is established, âscreen sharingâ starts on the Web (Google Chrome) side.
5.On the iOS App, onUserShareStatusChanged() notifies that screen sharing has started on the Web (Google Chrome) side.
[program code]
In Delegate âonUserShareStatusChanged()â subscribe the UIView to user.getShareCanvas(), but nothing is actually displayed on the View
Web (Google Chrome) has changed to a shared screen
func onUserShareStatusChanged(_ helper: ZoomVideoSDKShareHelper?, user: ZoomVideoSDKUser?, status: ZoomVideoSDKReceiveSharingStatus) {
let userShareCanvas = user?.getShareCanvas()
switch status {
case .start:
userShareCanvas?.subscribe(with: self.screenSharedView, andAspectMode: .panAndScan)
case .stop:
userShareCanvas?.unSubscribe(with: self.screenSharedView)
default:
break
}
}
Thank you for all the details. Can you share a screenshot of how the video is currently rendering when screensharing ? This helps us diagnose what may be happening.
Thanks for the response, @jun.sugai ! Please see my responses and follow-up questions below:
Can you share more details on why you bypass steps 1 to 7 of the developer guide and implemented from step 8 ?
The Apple video frameworks that were excluded are used to enhance the screen sharing experience. To begin troubleshooting, I suggest testing whether the video renders correctly using the Video SDK iOS Sample App. Please give it a try and inform us of the outcome. I think itâs best that you use the refer to the Sample app during your implementation because it seems that the observed behavior is limited to your application.
It seems like you are receiving the event but not the video feed. Could you please provide us with the crash logs or screenshots? Additionally, when you use version 1.7.0, do you see any console logs when you screen share? Have you added any logging to identify any noticeable differences between the versions? Are all the functionalities working as expected? Have you thoroughly reviewed the code responsible for handling the screen share functionality? Also, if you encounter difficulties uploading a screenshot, as an alternative you can utilize an online tool to upload the image and share the link in the forum instead.
Thanks for the response, @donte.zoom
Thank you for your kind attention to detail.
I believe Steps 1 to 6 are the steps required to 'Show Screen-Sharingâ
Therefore, I donât think they are necessary steps or frameworks for "Displaying Screen-Sharingâ.
In order to avoid unnecessary libraries and complex builds, can you tell us why steps 1 to 7 are necessary for 'displaying the shared screenâ?
We have introduced the following libraries into the project as advised and tested the behaviour, but the results did not change.
The Shared Video stream did not render anything.
sorry, but with version 1.7.0 or even newer versions of the SDK, the application does not crash.
It just doesnât render to the View.
Logs can be shared when nothing is shown
In the log when the connection partner initiates screen sharing.
After this, no other logs were output during screen sharing.
I am also trying to reproduce the reported issue here since today, but currently unable to, even after removing all mentioned frameworks related to âstartâ sharing.
May I ask you a favor to change the parameter of the subscribeWithView as follows?
And also would you mind considering to change target render view if applicable, such as the view for counter participantâs view, to test if any change might happen?