Video conferencing iOS SDK Usage

Step 1:

Download the SDK from the below link,

http://[Your-Server-URL]/IOS/IOS-sdk.zip

Step 2:

Unzip the file, you will get the ‘sdk’ folder

Step 3:

Copy the ‘sdk’ folder to your iOS project.

Copy sdkàFrameworks into iOS of your project

Step 4:

Open your Project in xcode

Step 5:

In your project, add the frameworks to,

Project target à Build Phases àLink Binary with Libraries

Change as Embedded&sign in Project target àGeneral àFrameworks, Libraries and Embedded Content

Step 6:

Code Implementation (in objective c)

 In AppDelegate.m file,

#import “AppDelegate.h”

@import JitsiMeet;

@interface AppDelegate ()

@end

@implementation AppDelegate

 – (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

 // Override point for customization after application launch.

// Initialize default options for joining conferences.

 JitsiMeetConferenceOptions *defaultOptions = [JitsiMeetConferenceOptions fromBuilder:^(JitsiMeetConferenceOptionsBuilder *builder) { builder.serverURL = [NSURL URLWithString:@”https://”]; builder.welcomePageEnabled = NO;

}];

[JitsiMeet sharedInstance].defaultConferenceOptions = defaultOptions;

 return YES; }

 @end

Create a view named ConferenceViewController.m,

#import “ConferenceViewController.h”

@interface ConferenceViewController ()

@end

@implementation ConferenceViewController

– (void)viewDidLoad {

[super viewDidLoad];

if (self.room == nil) {

NSLog(@”Room is nul!”);

dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)),

dispatch_get_main_queue(), ^{

[self dismissViewControllerAnimated:YES completion:nil]; });

return; }

// Attach this controller as the delegate.

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

jitsiView.delegate = self;

// Join the room.

JitsiMeetConferenceOptions *options

= [JitsiMeetConferenceOptions fromBuilder:^(JitsiMeetConferenceOptionsBuilder *builder) { builder.room = self.room;

builder.subject =@”conferencename”; //set conference name

builder.audioMuted = YES; // set Audio muted

builder.videoMuted = YES; // set video muted

[builder setFeatureFlag:@”chatOption.enabled” withBoolean:YES]; // Open chat }];

[jitsiView join:options];

}

– (void)conferenceWillJoin:(NSDictionary *)data { NSLog(@”About to join conference %@”, self.room);

}

– (void)conferenceJoined:(NSDictionary *)data { NSLog(@”Conference %@ joined”, self.room);

}

– (void)conferenceTerminated:(NSDictionary *)data { NSLog(@”Conference %@ terminated”, self.room);

[self dismissViewControllerAnimated:YES completion:nil];

@end

Join Conference with chat only enable option:

JitsiMeetConferenceOptions *options

= [JitsiMeetConferenceOptions fromBuilder:^(JitsiMeetConferenceOptionsBuilder *builder) {

builder.room = self.room;

builder.subject = “conferencename”; //set conference name

builder.audioMuted = YES; // set Audio muted

builder.videoMuted = YES; // set video muted

[builder setFeatureFlag:@”chatOption.enabled” withBoolean:YES];

 // Open chat

}];

Join Conference with Video only enable option:

JitsiMeetConferenceOptions *options

= [JitsiMeetConferenceOptions fromBuilder:^(JitsiMeetConferenceOptionsBuilder *builder) {

builder.room = self.room;

builder.subject = “conferencename”; //set conference name

builder.audioMuted = YES; // set Audio muted

[builder setFeatureFlag:@”chatOption.enabled” withBoolean:NO];

 // Open chat

}];

Join Conference with Audio only enable option:

JitsiMeetConferenceOptions *options

= [JitsiMeetConferenceOptions fromBuilder:^(JitsiMeetConferenceOptionsBuilder *builder) { builder.room = self.room;

builder.subject = “conferencename”; //set conference name builder.videoMuted = YES; // set video muted

[builder setFeatureFlag:@”chatOption.enabled” withBoolean:NO];

// Open chat

}];

Step 7:

Run Project in Xcode

  • Product à clean build folder
  • ProductàBuild
  • Run app using simulator