jiti-meet/ios
Saúl Ibarra Corretgé 99b856233d [iOS] Fix joining initial URL if app was closed
On iOS, if the app is closed the startup options are only passed as the
`launchOptions` dictionary of `applicationDidFinishLaunching`. Thus add a helper
method to be called from there by embedding applications so we can copy that
dictionary.
2017-07-07 08:57:49 -05:00
..
app [iOS] Fix joining initial URL if app was closed 2017-07-07 08:57:49 -05:00
jitsi-meet.xcworkspace [RN] Consistency in Jitsi Meet SDK for iOS 2017-06-08 01:13:12 -05:00
scripts [iOS] Don't bring the packager to the foreground upon launch 2017-07-06 14:07:20 +02:00
sdk [iOS] Fix joining initial URL if app was closed 2017-07-07 08:57:49 -05:00
Podfile [RN] Consistency in Jitsi Meet SDK for iOS 2017-06-08 01:13:12 -05:00
README.md [RN] Naming 2017-06-09 14:51:31 -05:00
apple-app-site-association

README.md

Jitsi Meet SDK for iOS

This directory contains the source code of the Jitsi Meet app and the Jitsi Meet SDK for iOS.

Jitsi Meet SDK

JitsiMeet is an iOS framework which embodies the whole Jitsi Meet experience and makes it reusable by third-party apps.

To get started:

  1. Add a JitsiMeetView to your app using a Storyboard or Interface Builder, for example.

  2. Then, once the view has loaded, set the delegate in your controller and load the desired URL:

- (void)viewDidLoad {
  [super viewDidLoad];

  JitsiMeetView *view = (JitsiMeetView *) self.view;

  view.delegate = self;
  [view 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 calling loadURL for it to take effect.

loadURL(URL)

[meetView loadURL:[NSURL URLWithString:@"https://meet.jit.si/test123"]];

Loads the given URL and joins the room. If null is specified, 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.