72c9933e73
Based on work authored by Shuai Li <sli@atlassian.com>, Daniel Ornelas <dornelas@atlassian.com>, and Lyubo Marinov <lmarinov@atlassian.com>. |
||
---|---|---|
.. | ||
app | ||
jitsi-meet.xcworkspace | ||
scripts | ||
sdk | ||
Podfile | ||
README.md | ||
apple-app-site-association |
README.md
Jitsi Meet SDK for iOS
Build
-
Install all required dependencies.
-
xcodebuild -workspace ios/jitsi-meet.xcworkspace -scheme JitsiMeet -destination='generic/platform=iOS' -configuration Release archive
Install
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.
API
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];
}
JitsiMeetView class
The JitsiMeetView
class is the entry point to the SDK. It a subclass of
UIView
which renders a full conference in the designated area.
delegate
Property for getting / setting the JitsiMeetViewDelegate
on JitsiMeetView
.
welcomePageEnabled
Property for getting / setting 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 before loadURL:
/loadURLString:
for it to take effect.
loadURL:NSURL
[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.
loadURLObject:NSDictionary
[jitsiMeetView loadURLObject:@{
@"url": @"https://meet.jit.si/test123",
@"configOverwrite": @{
@"startWithAudioMuted": @YES,
@"startWithVideoMuted": @NO
}
}];
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.
loadURLString:NSString
[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.
Universal / deep linking
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];
}
JitsiMeetViewDelegate
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.
conferenceFailed
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.
conferenceJoined
Called when a conference was joined.
The data
dictionary contains a "url" key with the conference URL.
conferenceLeft
Called when a conference was left.
The data
dictionary contains a "url" key with the conference URL.
conferenceWillJoin
Called before a conference is joined.
The data
dictionary contains a "url" key with the conference URL.
conferenceWillLeave
Called before a conference is left.
The data
dictionary contains a "url" key with the conference URL.
loadConfigError
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.