-
Notifications
You must be signed in to change notification settings - Fork 2
ScreenShareMode
Lejla Solak edited this page Feb 4, 2026
·
2 revisions
In-app screen share mode captures only your application's content. Uses RPScreenRecorder internally.
Characteristics:
- Captures only your app's UI
- Runs in your app's process
- Simpler implementation, no additional setup required
- Stops when app goes to background
let options = ScreenShareOptions(mode: .inApp)
try call.startScreenShare(options)Broadcast screen share mode captures the entire device screen, including other apps, system UI, and notifications.
Uses Apple's Broadcast Upload Extension (RPBroadcastSampleHandler) internally.
Characteristics:
- Captures entire device screen
- Runs in a separate process (Broadcast Upload Extension)
- Can capture any app, games, system UI
- Continues when your app goes to background
- Requires additional setup:
- Broadcast Upload Extension target in your project
- App Group configured in both main app and extension
-
RPSystemBroadcastPickerViewin your UI for user to start broadcast
// Configure broadcast screen share
let options = ScreenShareOptions(mode: .broadcast, appGroup: "group.com.yourcompany.yourapp")
try call.startScreenShare(options)
// User must tap the broadcast picker to start the actual capture
let picker = RPSystemBroadcastPickerView(frame: CGRect(x: 0, y: 0, width: 50, height: 50))
picker.preferredExtension = "com.yourcompany.yourapp.BroadcastExtension"
picker.showsMicrophoneButton = false
view.addSubview(picker)