Share button is not visible in share content in MobileRTC framework

Description
Share button is not visible in share content in MobileRTC framework.

Which iOS Meeting SDK version?
MobileRTC framework

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

  1. Start meeting
  2. Share content
  3. Three options are their i.e. Photos, Website URL and Bookmark
    4 There is no screen share button avaliable

Smartphone (please complete the following information):
iPhone 12 mini
iOS 15.1

Additional context
Share button is not visible in share content in MobileRTC framework.
Please help me out how can I put the share button there in my App.

Hey @bhanu,

Thanks for using the dev forum!

To show this button, you have to implement the onClickShareScreen callback in MobileRTCMeetingServiceDelegate.

Thanks!
Michael

Hello @Michael_Condon

Thanks for your reply!

Can you please share that function with me?

And in this class I need to implement that function?

class SampleHandler: RPBroadcastSampleHandler, MobileRTCScreenShareServiceDelegate {

    var screenShareService: MobileRTCScreenShareService?

    override init() {
        super.init()
        screenShareService?.appGroup = "group.com.hf.ZoomMeeting"
        screenShareService = MobileRTCScreenShareService()
        screenShareService?.delegate = self
    }
    
    override func broadcastStarted(withSetupInfo setupInfo: [String : NSObject]?) {
        // User has requested to start the broadcast. Setup info from the UI extension can be supplied but optional.
        screenShareService?.broadcastStarted(withSetupInfo: setupInfo)
    }
    
    override func broadcastPaused() {
        // User has requested to pause the broadcast. Samples will stop being delivered.
        screenShareService?.broadcastPaused()
    }
    
    override func broadcastResumed() {
        // User has requested to resume the broadcast. Samples delivery will resume.
        screenShareService?.broadcastResumed()
    }
    
    override func broadcastFinished() {
        // User has requested to finish the broadcast.
        screenShareService?.broadcastFinished()
    }
    
    override func processSampleBuffer(_ sampleBuffer: CMSampleBuffer, with sampleBufferType: RPSampleBufferType) {
        self.screenShareService?.processSampleBuffer(sampleBuffer, with: sampleBufferType)
        
        switch sampleBufferType {
        case RPSampleBufferType.video:
            // Handle video sample buffer
            break
        case RPSampleBufferType.audioApp:
            // Handle audio sample buffer for app audio
            break
        case RPSampleBufferType.audioMic:
            // Handle audio sample buffer for mic audio
            break
        @unknown default:
            // Handle other sample buffer types
            fatalError("Unknown type of sample buffer")
        }
    }
    func mobileRTCScreenShareServiceFinishBroadcastWithError(_ error: Error!) {
            finishBroadcastWithError(error)
        print(error)
    }
    
}

Thanks!
Bhanu

Hey @bhanu

This would actually be located in your main target. Something like this:

extension yourDelegate: MobileRTCMeetingServiceDelegate {
    func onClickShareScreen(_ parentVC: UIViewController) {
        // if you want to trigger the broadcast here, you would present a ReplayKitPickerView here
    }
}

Thanks!
Michael

Thanks @Michael_Condon

I got the point!

Now I’m getting this error when I do the broadcasting can you please help me out…

2021-12-06 09:49:47.528506+0530 ScreenShare[503:7504] *** CFMessagePort: bootstrap_register(): failed 1100 (0x44c) 'Permission denied', port = 0x570f, name = '.503.rpc'
See /usr/include/servers/bootstrap_defs.h for the error codes.

Hi @bhanu,

Is this error accompanied by any incorrect behavior? If so, please provide additional context around when you’re seeing so that we can better assist.

Also, which version of the SDK are you current using?

Thanks!

Hi @jon.zoom,

I’m using Zoom meeting v5.7.6.1080 SDK.

I don’t know why this error is coming and also getting crash in override func processSampleBuffer(_ sampleBuffer: CMSampleBuffer, with sampleBufferType: RPSampleBufferType)

1 Like

Hi @bhanu,

Apologies, but can you describe what actions you are taking leading up to this crash? It is unclear when this is happening, so if you can describe the steps to reproduce this it would be helpful. :slightly_smiling_face:

Thanks!

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.