This repository contains the tooling to build the WebRTC libraries for the Nextcloud Talk Android and iOS apps.
Pick the latest stable branch from that table (click on the brunch number in the column WebRTC
):
In the following build instructions replace $BRANCH
with the picked branch number.
Official WebRTC build guides:
- https://webrtc.googlesource.com/src/+/main/docs/native-code/android/README.md
- https://webrtc.googlesource.com/src/+/main/docs/native-code/ios/README.md
Requirements:
To build WebRTC for Android follow those steps:
./build.sh $BRANCH
First run needs around an hour. Manual interactions are needed during the run.
The created aar
can be found in result/android
afterwards.
To use this aar
in the nextcloud android talk app, follow the steps from https://github.com/nextcloud-deps/android-talk-webrtc#packaging-instructions
Requirements:
- Xcode version 13.0+
- Depot tools (latest master)
To build WebRTC for iOS follow those steps:
mkdir webrtc_ios
cd webrtc_ios
fetch --nohooks webrtc_ios
gclient sync
cd src
git checkout -b branch_$BRANCH branch-heads/$BRANCH
gclient sync -D
git apply {path-to-this-repo}/ios/patches/*.patch
cd tools_webrtc/ios
python build_ios_libs.py
If build succeeds, you will find the WebRTC.xcframework in src/out_ios_libs/WebRTC.xcframework
Check if the command python
is available. Most likley you need to link it (adjust the Xcode path accordingly):
sudo ln -s /Applications/Xcode.app/Contents/Developer/usr/bin/python3 /usr/local/bin/python
By default the following architectures are build:
'device:arm64', 'simulator:arm64', 'simulator:x64'
It is also possible to build for catalyst, the build command would look like this:
python build_ios_libs.py --arch "device:arm64" "simulator:arm64" "simulator:x64" "catalyst:arm64" "catalyst:x64"
python build_ios_libs.py --build_config debug