|
|
7 年前 | |
|---|---|---|
| .. | ||
| app | 7 年前 | |
| example-pip-app | 7 年前 | |
| jitsi-meet.xcworkspace | 7 年前 | |
| scripts | 8 年前 | |
| sdk | 7 年前 | |
| travis-ci | 7 年前 | |
| Podfile | 7 年前 | |
| Podfile.lock | 7 年前 | |
| README.md | 7 年前 | |
| apple-app-site-association | 9 年前 | |
Install all required dependencies.
xcodebuild -workspace ios/jitsi-meet.xcworkspace -scheme JitsiMeet -destination='generic/platform=iOS' -configuration Release archive
After successfully building Jitsi Meet SDK for iOS, copy
ios/sdk/JitsiMeet.framework (if the path points to a symbolic link, follow the
symbolic link) and
node_modules/react-native-webrtc/ios/WebRTC.framework into your project.
JitsiMeet is an iOS framework which embodies the whole Jitsi Meet experience and makes it reusable by third-party apps.
To get started:
Add a JitsiMeetView to your app using a Storyboard or Interface Builder,
for example.
Then, once the view has loaded, set the delegate in your controller and load the desired URL:
- (void)viewDidLoad {
[super viewDidLoad];
JitsiMeetView *jitsiMeetView = (JitsiMeetView *) self.view;
jitsiMeetView.delegate = self;
[jitsiMeetView loadURL:nil];
}
The JitsiMeetView class is the entry point to the SDK. It a subclass of
UIView which renders a full conference in the designated area.
Property to get/set the JitsiMeetViewDelegate on JitsiMeetView.
Property to get/set the default base URL used to join a conference when a
partial URL (e.g. a room name only) is specified to
loadURLString:/loadURLObject:. If not set or if set to nil, the default
built in JavaScript is used: https://meet.jit.si.
NOTE: Must be set (if at all) before loadURL:/loadURLString: for it to take
effect.
Property to get / set whether Picture-in-Picture is enabled. Defaults to YES
if delegate implements enterPictureInPicture:; otherwise, NO.
NOTE: Must be set (if at all) before loadURL:/loadURLString: for it to take
effect.
Property to get/set whether the Welcome page is enabled. If NO, a black empty
view will be rendered when not in a conference. Defaults to NO.
NOTE: Must be set (if at all) before loadURL:/loadURLString: for it to take
effect.
[jitsiMeetView loadURL:[NSURL URLWithString:@"https://meet.jit.si/test123"]];
Loads a specific URL which may identify a conference to join. If the specified
URL is nil and the Welcome page is enabled, the Welcome page is displayed
instead.
[jitsiMeetView loadURLObject:@{
@"config": @{
@"startWithAudioMuted": @YES,
@"startWithVideoMuted": @NO
},
@"url": @"https://meet.jit.si/test123"
}];
Loads a specific URL which may identify a conference to join. The URL is
specified in the form of an NSDictionary of properties which (1) internally
are sufficient to construct a URL (string) while (2) abstracting the specifics
of constructing the URL away from API clients/consumers. If the specified URL is
nil and the Welcome page is enabled, the Welcome page is displayed instead.
[jitsiMeetView loadURLString:@"https://meet.jit.si/test123"];
Loads a specific URL which may identify a conference to join. If the specified
URL is nil and the Welcome page is enabled, the Welcome page is displayed
instead.
In order to support Universal / deep linking, JitsiMeetView offers 2 class
methods that you app’s delegate should call in order for the app to follow those
links.
- (BOOL)application:(UIApplication *)application
continueUserActivity:(NSUserActivity *)userActivity
restorationHandler:(void (^)(NSArray *restorableObjects))restorationHandler
{
return [JitsiMeetView application:application
continueUserActivity:userActivity
restorationHandler:restorationHandler];
}
- (BOOL)application:(UIApplication *)application
openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication
annotation:(id)annotation
{
return [JitsiMeetView application:application
openURL:url
sourceApplication:sourceApplication
annotation:annotation];
}
This delegate is optional, and can be set on the JitsiMeetView instance using
the delegate property.
It provides information about the conference state: was it joined, left, did it fail?
All methods in this delegate are optional.
Called when a joining a conference was unsuccessful or when there was an error while in a conference.
The data dictionary contains an “error” key describing the error and a “url”
key with the conference URL.
Called when a conference was joined.
The data dictionary contains a “url” key with the conference URL.
Called when a conference was left.
The data dictionary contains a “url” key with the conference URL.
Called before a conference is joined.
The data dictionary contains a “url” key with the conference URL.
Called before a conference is left.
The data dictionary contains a “url” key with the conference URL.
Called when entering Picture-in-Picture is requested by the user. The app should
now activate its Picture-in-Picture implementation (and resize the associated
JitsiMeetView. The latter will automatically detect its new size and adjust
its user interface to a variant appropriate for the small size ordinarily
associated with Picture-in-Picture.)
The data dictionary is empty.
Called when loading the main configuration file from the Jitsi Meet deployment fails.
The data dictionary contains an “error” key with the error and a “url” key
with the conference URL which necessitated the loading of the configuration
file.
JitsiMeetView will automatically adjust its UI when presented in a
Picture-in-Picture style scenario, in a rectangle too small to accommodate its
“full” UI.
Jitsi Meet SDK does not currently implement native Picture-in-Picture on iOS. If
desired, apps need to implement non-native Picture-in-Picture themselves and
resize JitsiMeetView.
If pictureInPictureEnabled is set to YES or delegate implements
enterPictureInPicture:, the in-call toolbar will render a button to afford the
user to request entering Picture-in-Picture.