Ensure you have the following installed on your system:
brew install ninja
.brew install meson
.xcode-select --install
.python3 --version
.cd /Users/<YOUR USERNAME>
git clone https://gitlab.linphone.org/BC/public/linphone-sdk.git
cd linphone-sdk
git pull
git submodule update --init --recursive
pip
:
python3 -m pip install --upgrade pip
python3 -m venv venv
source venv/bin/activate
pip install pystache six
pip list
cmake
command (inside the activated virtual environment):
cmake --preset=ios-sdk -G Ninja -B IOS_64_RELEASE \
-DPYTHON_EXECUTABLE=$(which python3) \
-DENABLE_PQCRYPTO=YES \
-DLINPHONESDK_IOS_ARCHS=arm64 \
-DENABLE_NON_FREE_FEATURES=YES \
-DENABLE_GPL_THIRD_PARTIES=YES \
-DENABLE_G729=YES \
-DCMAKE_CONFIGURATION_TYPES=ReleaseWithDebInfo
cmake --build IOS_64_RELEASE --config RelWithDebInfo -j5
Check if the build output exists at the following path:
/Users/<YOUR USERNAME>/linphone-sdk/IOS_64_RELEASE
The folder should contain the linphone-sdk.podspec
file.
Podfile
Podfile
to include the local build of Linphone SDK:
platform :ios, '15.6'
source "https://github.com/CocoaPods/Specs.git"
def basic_pods
pod 'linphone-sdk', :path => '/Users/<YOUR USERNAME>/linphone-sdk/IOS_64_RELEASE'
end
target 'MyAppLinphone' do
use_frameworks!
pod 'SQLite.swift', '~> 0.14.0'
pod 'ModalPresenter'
pod "Firebase"
pod 'Firebase/Core'
pod 'Firebase/Messaging'
basic_pods
end
Navigate to your project directory where the Podfile
is located and run:
pod upgrade
pod install
Run your app to verify the integration works successfully.