Jitsi SDK Build Process:
- Clone or download the Jitsi sdk folder (React Native Project)
- Goto Jitsi folder
- npm install
- cd ios and do pod install
- Disable bitcode in project
- Change the bundle id (if require) and select proper certificate.
- run jitsi-meet.xcworkspace in Xcode , should compile and run fine
- Navigate to SDK folder location (Outside the iOS folder)
- Execute following commands in terminal:
mkdir -p ios/sdk/out
xcodebuild clean
-workspace ios/jitsi-meet.xcworkspace
-scheme JitsiMeetSDK
xcodebuild archive
-workspace ios/jitsi-meet.xcworkspace
-scheme JitsiMeetSDK
-configuration Release
-sdk iphonesimulator
-destination='generic/platform=iOS Simulator'
-archivePath ios/sdk/out/ios-simulator
VALID_ARCHS=x86_64
ENABLE_BITCODE=NO
SKIP_INSTALL=NO
BUILD_LIBRARY_FOR_DISTRIBUTION=YES
xcodebuild archive
-workspace ios/jitsi-meet.xcworkspace
-scheme JitsiMeetSDK
-configuration Release
-sdk iphoneos
-destination='generic/platform=iOS'
-archivePath ios/sdk/out/ios-device
VALID_ARCHS=arm64
ENABLE_BITCODE=NO
SKIP_INSTALL=NO
BUILD_LIBRARY_FOR_DISTRIBUTION=YES
xcodebuild -create-xcframework
-framework ios/sdk/out/ios-device.xcarchive/Products/Library/Frameworks/JitsiMeetSDK.framework
-framework ios/sdk/out/ios-simulator.xcarchive/Products/Library/Frameworks/JitsiMeetSDK.framework
-output ios/sdk/out/JitsiMeetSDK.xcframework
cp -a node_modules/react-native-webrtc/apple/WebRTC.xcframework ios/sdk/out
- After successfully building Jitsi Meet SDK for iOS, the 2 resulting XCFrameworks will be in the ios/sdk/out directory.
- Drag and drop respective frameworks in the project.
- Remember to change ENABLE_BITCODE to NO and Always Embed Swift Standard Libraries to YES
- Navigate to Targets > General and change the Frameworks, Libraries and Embed Content and change the Embed to Embed without signing or Embed with signing
- Now import JitsiMeetSDK in your view controller and you are good to go.
Reference:
https://jitsi.github.io/handbook/docs/dev-guide/dev-guide-ios-sdk