-
Notifications
You must be signed in to change notification settings - Fork 117
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for full screen sharing under iOS #58
Conversation
@@ -239,4 +243,24 @@ - (void)onMeetingError:(MobileRTCMeetError)errorCode message:(NSString *)message | |||
meetingPromiseReject = nil; | |||
} | |||
|
|||
- (void)onClickShareScreen:(UIViewController *)parentVC { | |||
if (@available(iOS 12.0, *)) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This section prefills the iOS SystemBroadcastPicker (accessible from the button in the Control Center) with the extension the developer has implemented as part of the same xcode project.
|
||
- (BOOL)respondsToSelector:(SEL)aSelector | ||
{ | ||
if (aSelector == @selector(onClickShareScreen:)) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If no screenShareExtension
has been configured, we will report to Zoom that our MobileRTCMeetingServiceDelegate
doesn't support onClickShareScreen:
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looking good thnx.
If I understood correctly, adding MobileRTCScreenShare.framework
is still optional if we do not want to integrate screen-share, right?
docs/IOS-SCREENSHARE.md
Outdated
appGroupId: 'group.com.your.Bundle', | ||
screenShareExtension: 'com.your.Bundle.ScreenShare' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- since these are only ios-related I think it would be good to prefix them, something like:
appGroupId: 'group.com.your.Bundle', | |
screenShareExtension: 'com.your.Bundle.ScreenShare' | |
iosAppGroupId: 'group.com.your.Bundle', | |
iosScreenShareExtensionId: 'com.your.Bundle.ScreenShare' |
- also note how I added
Id
in the second param
Updated to prefix the two parameters. And to confirm your understanding, if you don't add the [Edited because apparently my brain has melted and I can't spell] |
@jcamins great, thnx! Jus one more note regarding naming: you use |
Whoops, sorry. You even pointed that out before. Updated. By the way, it looks like you're only one who can merge PRs into this repo, so I'm going to assume now that I've addressed the comments these are good to go. Let me know if you need anything else! |
Oh, ok, I thought that once I approve you can merge. Anyway I will merge it now, thnx! |
This PR adds support for sharing the user's full screen under iOS using ReplayKit (with an appropriate app extension). There are still changes that need to be made in the xcode project for the app in order to enable it (documented in
docs/IOS-SCREENSHARE.md
), but these changes allow the library to be used to enable screen sharing without any further modification of the library code.