Telegram iOS Source Code Compilation Guide

$5/yr

Single Licence: a single website (personal, client), or intranet site project - Details

Extended Licence: a website (commercial, personal, client), or internet site project - Details

Rated

Be the first to review this.

Save for later

Save this link to facebook.

Get Social

Hit like and share it with others.

CREATED

18-Jan-2021

LAST UPDATED

18-Jan-2021

Compatible Browsers

,

DOCUMENTATION

LAYOUT

FILES INCLUDED

zip,

Seller Store

github

github

Contact Me
848

Sales

0

Comments

848+

Downloads

0

Rated Points

Telegram iOS Source Code Compilation Guide
We welcome all developers to use our API and source code to create applications on our platform.
There are several things we require from all developers for the moment.
Creating your Telegram Application
Obtain your own api_id for your application.
Please do not use the name Telegram for your app — or make sure your users understand that it is unofficial.
Kindly do not use our standard logo (white paper plane in a blue circle) as your app’s logo.
Please study our security guidelines and take good care of your users’ data and privacy.
Please remember to publish your code too in order to comply with the licences.
Compilation Guide
Install Xcode (directly from https://developer.apple.com/download/more or using the App Store).
Clone the project from GitHub:
git clone –recursive -j8 https://github.com/TelegramMessenger/Telegram-iOS.git

Download Bazel 3.7.0
mkdir -p $HOME/bazel-dist
cd $HOME/bazel-dist
curl -O -L https://github.com/bazelbuild/bazel/releases/download/3.7.0/bazel-3.7.0-darwin-x86_64
mv bazel-3.7.0* bazel

Verify that it’s working
chmod +x bazel
./bazel –version

Adjust configuration parameters
mkdir -p $HOME/telegram-configuration
cp -R build-system/example-configuration/* $HOME/telegram-configuration/

Modify the values in variables.bzl
Replace the provisioning profiles in provisioning with valid files
(Optional) Create a build cache directory to speed up rebuilds
mkdir -p “$HOME/telegram-bazel-cache”

Build the app
python3 build-system/Make/Make.py
–bazel=”$HOME/bazel-dist/bazel”
–cacheDir=”$HOME/telegram-bazel-cache”
build
–configurationPath=”$HOME/telegram-configuration”
–buildNumber=100001
–configuration=release_universal

(Optional) Generate an Xcode project
python3 build-system/Make/Make.py
–bazel=”$HOME/bazel-dist/bazel”
–cacheDir=”$HOME/telegram-bazel-cache”
generateProject
–configurationPath=”$HOME/telegram-configuration”
–disableExtensions

It is possible to generate a project that does not require any codesigning certificates to be installed: add –disableProvisioningProfiles flag:
python3 build-system/Make/Make.py
–bazel=”$HOME/bazel-dist/bazel”
–cacheDir=”$HOME/telegram-bazel-cache”
generateProject
–configurationPath=”$HOME/telegram-configuration”
–disableExtensions
–disableProvisioningProfiles

Tip: use –disableExtensions when developing to speed up development by not building application extensions and the WatchOS app.
Tips
Bazel is used to build the app. To simplify the development setup a helper script is provided (build-system/Make/Make.py). See help:
python3 build-system/Make/Make.py –help
python3 build-system/Make/Make.py build –help
python3 build-system/Make/Make.py generateProject –help

Each release is built using specific Xcode and Bazel versions (see versions.json). The helper script checks the versions of installed software and reports an error if they don’t match the ones specified in versions.json. There are flags that allow to bypass these checks:
python3 build-system/Make/Make.py –overrideBazelVersion build … # Don’t check the version of Bazel
python3 build-system/Make/Make.py –overrideXcodeVersion build … # Don’t check the version of Xcode

Comments and Discussions



Reviews



Copyrights © 2024-2025 All Rights Reserved