Can't start screen/window sharing with new SDK 5.11.1.8413

Description
I have updated Zoom SDK version and noticed that screen/window sharing doesn’t work.
After some checks I have figured out that starts from 5.11.0.8370
startMonitorShare and startAppShare methods return Failed status.
But if I switch to 5.10.6.7530 sharing works again.

Which macOS Meeting SDK version?
Starts in 5.11.0.8370.
Still have in 5.11.1.8413.

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

  1. Start or Join to the meeting.
  2. Initiate screen/window sharing.

Device (please complete the following information):

  • Device: iMac (Retina 5K, 27-inch, 2017)
  • OS: macOS Monterey 12.4

Additional context
Unfortunately, I can’t reproduce it in the demo app, but do you know what is changed? Maybe I should do some additional settings?

Thank you!

Hi @anton.yereshchenko ,

Thanks for using the SDK and sorry to hear that the screen sharing is not working as expected on your end.

As you have already tried, we are not observing the same issue on our end with the sample app, so we might need additional information from you in order to further investigate this issue. Could you share the following info:

  1. What is your Xcode version? Are you using the legacy build system or the new build system?
  2. Could you share some code snippets of how you use these 2 interfaces startMonitorShare and startAppShare?
  3. Could you share the SDK log so that we could further investigate?

Looking forward to hearing from you.

Thank you!

Hi, @anton.yereshchenko,

Sorry for the behavior you are seeing with screen sharing. We’d like to get a better understanding of what may be happening but we’ll need your help. Can you open a support ticket here and share the logs? Please include a link to this thread and direct message the ticket number.

Hi @carson.zoom , thank you for your replay

  1. Xcode Version 13.3.1 with the new build system.
  2. Nothing strange:
    private var shareController: ZoomSDKASController? {
        return ZoomSDK.shared()?.getMeetingService()?.getASController()
    }
    
    func startScreenShare(with displayId: CGDirectDisplayID) -> ZoomSDKError? {
        return shareController?.startMonitorShare(displayId)
    }
    
    func startWindowShare(with windowId: CGWindowID) -> ZoomSDKError? {
        return shareController?.startAppShare(windowId)
    }
  1. Yeah, sure, I have attached it [REDACTED}

Thank you!

@anton.yereshchenkom,

Thanks! I will share the logs with our SDK team and provide an update once more information is available.

@donte.zoom , Hi thank you too!
I have opened a support ticket with the log and topic link.
:pray:

Hey @carson.zoom,

If it helps, we are seeing a similar issue. Previous version works, we change nothing except the sdk version, receiving screen sharing shows blank view. I cant seem to reproduce in the sample application though.

Thanks!
Michael

Thanks @anton.yereshchenko and @BrobaFett for the replies! Are you experiencing this issue in default UI or Custom UI?

@anton.yereshchenko @BrobaFett One additional question: Have you re-signed the libraries and frameworks in the SDK? If the share module(CptHost.app) is not signed, the share interface will return fail.

Once the SDK is re-signed, please also make sure you pass in the teamIdentifier in the initSDK interface.

@carson.zoom hi!
I have this issue in Custom UI

should I re-sign all sdk files?
I mean .app, .bundle, .dylib, .framework?

@carson.zoom I have some news!

Just two steps almost help me

  1. Re-sign .app files using Run script phase:
DIR="ZoomSDK"
IDENTITY=${EXPANDED_CODE_SIGN_IDENTITY_NAME}

echo "Re-signing *.app files in directory \"$DIR\" with Authority: \"$IDENTITY\""

for file in $DIR/*; do
  if [ "${file: -4}" == ".app" ]; then
  
    if codesign -dvv --deep "$file" 2>&1 | grep -qF "$IDENTITY"
    then
        echo "File \"$file\" has been already signed."
    else
        echo "File \"$file\" is not signed correctly."  
        echo "File \"$file\" will sign with \"$IDENTITY\"..."  
        codesign --force --verify --timestamp --verbose --options=runtime --sign "$IDENTITY" "$file"
        echo "File \"$file\" has been signed with \"$IDENTITY\"."  
    fi    
  fi
done

$IDENTITY is equal to string (for debug): “Apple Development: USERNAME (ID)”

  1. Check that teamIdentifier in ZoomSDKInitParams is equal to Team ID from developer Apple portal.

And finally screen/window sharing works for debug.
BUT after archiving and notarising the app sharing doesn’t want to work again:(

And result of codesign -dv --verbose=4 <FILENAME.app> is shown that main app and Zoom apps have the same Authority and is equal to string (for release): “Developer ID Application: COMPANY_NAME (ID)”

Should I do some additional step to make it works in the build after archiving and notarising?

Thank you for helping with re-singing and teamIdentifier :pray:

Hi @anton.yereshchenko ,

Glad to hear that the screen sharing feature is working for you in the debug mode. For the release build, you will need to re-sign everything in the folder ZoomSDK. Please double check the signatures after you re-sign everything and make sure everything has been re-signed.

Hope this helps! Thanks!

@carson.zoom yes it is! thank you a lot, everything is work properly now :ok_hand:

Happy to help! Glad to hear that it is working as expected now. :slight_smile: Don’t hesitate to reach out to us if any other questions.

Hey @carson.zoom,

Sorry for the late response. We realized are issue was caused by something on our side.

Michael

Hi @BrobaFett ,

Glad to hear that the issue is fixed on your end! Let us know if any other questions. Thank you!