Integration


To integrate the SDK, do the following steps

Switch Package Manager

  • Add the iOS Client SDK URL using the Swift Package Manager in Xcode.
  • You can include the bluejeans-ios-client-sdk or bluejeans-ios-client-sdk-simulator in your target, depending on whether you want to support physical devices or simulators.

Note

Currently, it is not possible to include both the bluejeans-ios-client-sdk and bluejeans-ios-client-sdk-simulator libraries in one target using the Switch Package Manager (SPM). If you need to include both libraries in one target,  you will need to follow the integration instructions below.

Manual Integration

To support both bluejeans-ios-client-sdk and bluejeans-ios-client-sdk-simulator libraries on your target, follow the manual integration steps below.

  • You can download the xcframeworks from here.
  • Unzip the Framework zip file and copy the Frameworks folder to the project root folder where your Xcode project (xxxx.xcodeproj file) is located.
  • Open the Xcode project-> project settings and select the App target-> General Tab.
  • Scroll to the Embedded Binaries section of the Xcode target.
  • Select all frameworks located in Frameworks.
  • Drag and drop all frameworks present in the Frameworks folder to this section. After adding, make sure your project settings look like the following image.

Note

BJNiOSBroadcastExtension.xcframework is only needed if you intend to support screen sharing.

Steps For Simulator Support

If you follow the manual integration steps above, you will not be able to run your app on the iOS Simulator. However, the iOS Client SDK supports using the simulator for debugging with some extra steps required to make it work.

The following frameworks are not built with support for the simulator.

  • VZXRCVCommon.xcframework/ios-arm64/VZXRCVCommon.framework
  • VZXRCVFeatureVirtualBackgrounds.xcframework/ios-arm64/VZXRCVFeatureVirtualBackgrounds.framework
  • VZXRCVVideoEffects.xcframework/ios-arm64/VZXRCVVideoEffects.framework

To work around this issue, follow these steps:

  • Remove all the above .xcframework files from the Frameworks, Libraries, and Embedded Content section.
  • Now the project will run on the simulator, but won't work on a real device.
  • To fix this, add a Run Script Phase to the Build Phases to your Xcode project, which will run the included script. This script will copy and code-sign the framework only on real devices.

Carthage and Cocoapods

Other dependency managers such as Carthage and Cocoapods are not currently supported.

Upgrade

Whenever a newer version of SDK is available, you can consume it by replacing the xcframeworks with the newer versions.

Project Setup

Bitcode Support

BlueJeans iOS Client SDK does not support bitcode. To integrate this SDK into your application, you need to disable bitcode in your project.

To disable bitcode, do the following steps

  • Go to the Build Settings tab of Xcode.
  • Search for "Enable Bitcode"
  • Change the value to "No"
User Permissions

The user must explicitly allow an app to access the device's camera or microphone for video or audio recording. If the app does not provide an explanation for its use of these capture devices, it will likely result in a crash.

You can request permissions using the BlueJeansSDK.permissionService or otherwise, the permissions will be requested when joining a meeting.

You can request the permissions using  BlueJeansSDK.permissionService or when joining a meeting. The SDK requires both audio and video permissions by default. If permissions are not granted, you won't be able to join the meeting. You can also modify the minimum permissions using the PermissionService. (See. ParticipantsService). 

For more details on the audio and video capture permission, you can refer to audio and video capture permissions.

Open your application's Info.plist keys and provide a short description that will be displayed with an alert/prompt for asking for allowing permission.

  • NSCameraUsageDescription (Privacy - Camera Usage Description)
  • NSMicrophoneUsageDescription (Privacy - Microphone Usage Description)

You will be shown this prompt when the user is asked for permission and then in the Settings app.

Initialize the BlueJeans SDK

Do the following steps for integrating BlueJeans functionality into your application.

import BJNClientSDK
  • Add the BlueJeans BJNClientSDK module to the project, and optionally initialize the SDK with the parameters *before* to access any of the services (BlueJeansSDK.initalize), an example of how to initialize the SDK with parameter is given below
    BlueJeansSDK.initialize(contentShareParameters: contentShareParameters, is5x5GalleryLayoutEnabled: false)
  • Create a video view for the Self-view, add and position the remote video view controller, and if desired Content Share view.

Congratulations! You're all set to join a BlueJeans meeting with your application. 

  • To join a meeting, you can use the BlueJeans meeting API (See. Join Meeting).
  • To leave a meeting, you can use the leave meeting API (See. Leave Meeting).
  • You can explore the features that make it easy to integrate our SDK into your app (See. Exploring the SDK).