Troubleshooting tips for screen sharing

We have compiled a list of common scenarios that you may encounter when attempting to implement the screen sharing functionality into your Zoom iOS SDK application. Most scenarios incorporate “workarounds” to address the majority of commonly encountered scenarios.

Nothing happens when I begin broadcasting

This may be caused by the App Group ID. The App Group ID must be valid and passed to four different locations in Xcode. Furthermore, you must ensure that the App Group ID are all identical within these locations. Otherwise, the screen share functionality will fail to appear within the meeting.

  1. Pass the ID as a string value into your MobileRTCSDKInitContext object wherever you initialize the SDK.
let mobileInitContext = MobileRTCSDKInitContext()
mobileInitContext.appGroupId = “group.com.yourTeam.yourAppGroupID”
  1. Pass the ID as a string value into your MobileRTCScreenShareService object within your BroadCast Extension target. This is likely within a class called “SampleHandler”.
self.screenShareService = MobileRTCScreenShareService()
screenShareService?.appGroup = “group.com.yourTeam.yourAppGroupID”
  1. Set the App Group in the “Signing & Capabilities” tab of your main target.

  2. Set the App Group in the “Signing & Capabilities” tab of your Broadcast Extension target.

I am using the MobileRTCSample application, but I still can't broadcast

As of version 5.4.54802.0124, screen sharing via Broadcasting is functional. However, the App Group ID, “group.zoom.us.MobileRTCSampleExtensionReplayKit” which is set by default, will not work for you. You must provide your own App Group ID within the four locations mentioned in the above section. Also, verify that the provisioning profile settings are properly set.

I don't want to use a Broadcast Extension, but I would like to broadcast it to the meeting

The SDK uses ReplayKit to send the video and audio data from the device. Without using a broadcast extension, the SDK cannot properly broadcast.

I imported both MobileRTC.framework and MobileRTCScreenShare.framework, but I am getting errors when I build

  • Import the MobileRTC.framework into your main target, and not in the Broadcast Extension target. Make sure it is set to “Embed & Sign”.

  • Import the MobileRTCScreenShare.framework into your Broadcast Extension target, and not your main target. Make sure it is set to “Do not embed”.

After importing MobileRTCScreenShare.framework into my Broadcast Extension target, I received over 50 errors

  • Make sure you have also imported the other required frameworks into your Broadcast Extension target: CoreGraphics, CoreMedia, CoreVideo, ReplayKit, VideoToolbox, and set them all to “Do not embed”.

  • If you are using Objective-C in your Broadcast Extension target, make sure your SampleHandler source file is named “SampleHandler.mm”, and not “SampleHandler.m”

  • If you are using Swift in your Broadcast Extension target, make sure you have added “-lc++” to “Other linker flags” in your build settings.

I do not see my app in the broadcast picker

Follow the workaround steps documented in the Nothing happens when I begin broadcasting section.

Need help?

If you're looking for help, try Developer Support or our Developer Forum. Priority support is also available with Premier Developer Support plans.