- Notifications
You must be signed in to change notification settings - Fork0
Telegram-iOS
TimorYang/Telegram-iOS
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
We welcome all developers to use our API and source code to create applications on our platform.There are several things we require fromall developers for the moment.
- Obtain your own api_id for your application.
- Pleasedo not use the name Telegram for your app — or make sure your users understand that it is unofficial.
- Kindlydo not use our standard logo (white paper plane in a blue circle) as your app's logo.
- Please study oursecurity guidelines and take good care of your users' data and privacy.
- Please remember to publishyour code too in order to comply with the licences.
- Install Xcode (directly fromhttps://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
- Adjust configuration parameters
mkdir -p $HOME/telegram-configurationcp -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 \ --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 \ --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 \ --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.
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 --helppython3 build-system/Make/Make.py build --helppython3 build-system/Make/Make.py generateProject --help
Bazel is automatically downloaded when running Make.py for the first time. If you wish to use your own build of Bazel, pass--bazel=path-to-bazel
. If your Bazel version differs from that inversions.json
, you may use--overrideBazelVersion
to skip the version check.
Each release is built using specific Xcode and Bazel versions (seeversions.json
). The helper script checks the versions of installed software and reports an error if they don't match the ones specified inversions.json
. There are flags that allow to bypass these checks:
python3 build-system/Make/Make.py --overrideBazelVersion build ... # Don't check the version of Bazelpython3 build-system/Make/Make.py --overrideXcodeVersion build ... # Don't check the version of Xcode
About
Telegram-iOS
Resources
Stars
Watchers
Forks
Packages0
Languages
- C51.9%
- Swift33.5%
- Objective-C8.9%
- Assembly3.2%
- Objective-C++1.1%
- Makefile0.6%
- Other0.8%