client-sdk-swift
client-sdk-swift copied to clipboard
Dismissing RPSystemBroadcastPickerView without selecting Broadcast Extension leaves isScreenShareEnabled() true
Describe the bug Dismissing RPSystemBroadcastPickerView without selecting Broadcast Extension leaves isScreenShareEnabled() true
SDK Version 2.0.12
iOS/macOS Version iOS 17.5.1
Xcode Version 15.4 Swift 5
Steps to Reproduce
- Setup broadcast extention
- Call
room.localParticipant.setScreenShare(true), nowroom.localParticipant.isScreenShareEnabled()returnstrue - It shows RPSystemBroadcastPickerView, and press anywhere except Picker to dismiss it
- I expect
room.localParticipant.isScreenShareEnabled()returnsfalsebut it returnstrue
Expected behavior
Dismissing RPSystemBroadcastPickerView should update isScreenShareEnabled() returns false.
Screenshots If applicable, add screenshots to help explain your problem.
Logs Please provide logs if you can.
@hiroshihorie
As RPSystemBroadcastPickerView doesn't seem accepting delegate, we cannot use RPBroadcastActivityControllerDelegate. What would be the best solution for this? I'm happy to take this but would need some guidance.
@hiroshihorie , been facing the same issue. isScreenShareEnabled() is returned true even if we click on start broadcast of the screenshare prompt. Tried all workarounds but none seem to work.
@mokuzuu , were you able to fix this issue using Darwin notification center?. Because if I make the useBroadcastExtension to be false, it shows me a prompt asking Do you want to record the screen when I set the room.localParticipant.setScreenShare(enabled: isEnabled). Please guide me to fix this issue.
@jestha166 Unfortunately I couldn't workaround this one as it doesn't emit darwin notification when dismissing picker.
I think this needs library change. Especially when calling setScreenShare, it shouldn't create local video track.
Hi, i'm looking into re-designing the internals. This is on my list since it looks like it's frequently requested.