TelegramMessenger / Telegram-iOS
git clone https://github.com/TelegramMessenger/Telegram-iOS.git
build-26855 Β· 3y ago
π₯ on GitHub Trending today
Official source code for the Telegram iOS messaging app, with build instructions for compiling it in Xcode.
Why you might care
Useful if you want to study or build a production-grade iOS messenger or fork it for your own app. The README requires you to use your own api_id and not brand the app as Telegram, and it documents the Xcode project generation and signing setup.
+7
stars, 24h Β· #4,375
+116
stars, 7 days Β· #1,846
+365
stars, 30 days Β· #2,265
9.3k
β
total Β· +1% this week
3.1k
forks Β· 711 open issues
Star history (as recorded here)
LanguageSwift
Licenseβ
Created2018-11-14 (7y ago)
Last pushtoday
Watchers408
OwnerOrganization
Seen on GitHub Trending
- 2026-10-23 β #5 monthly in swift Β· +365 β
- 2026-10-23 β #6 weekly in swift Β· +110 β
- 2026-10-22 β #5 daily in swift Β· +7 β
- 2026-10-22 β #6 monthly in swift Β· +363 β
- 2026-10-22 β #5 weekly in swift Β· +116 β
- 2026-10-21 β #1 daily in swift Β· +30 β
- 2026-10-21 β #5 monthly in swift Β· +360 β
- 2026-10-21 β #6 weekly in swift Β· +114 β
- 2026-10-20 β #1 daily in swift Β· +30 β
- 2026-10-20 β #5 monthly in swift Β· +333 β
- 2026-10-20 β #6 weekly in swift Β· +115 β
Links
README excerpt
# 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
1. **Obtain your own api_id** for your application.
2. Please **do not** use the name Telegram for your app β or make sure your users understand that it is unofficial.
3. Kindly **do not** use our standard logo (white paper plane in a blue circle) as your app's logo.
3. Please study our **security guidelines** and take good care of your users' data and privacy.
4. Please remember to publish **your** code too in order to comply with the licences.
# Quick Compilation Guide
## Get the Code
[code]
## Setup Xcode
Install Xcode (directly from https://developer.apple.com/download/applications or using the App Store).
## Adjust Configuration
1. Generate a random identifier:
[code]
2. Create a new Xcode project. Use `Telegram` as the Product Name. Use `org.{identifier from step 1}` as the Organization Identifier.
3. Open `Keychain Access` and navigate to `Certificates`. Locate `Apple Development: your@email.address (XXXXXXXXXX)` and double tap the certificate. Under `Details`, locate `Organizational Unit`. This is the Team ID.
4. Edit `build-system/template_minimal_development_configuration.json`. Use data from the previous steps.
## Generate an Xcode project
[code]
# Advanced Compilation Guide
## Xcode
1. Copy and edit `build-system/appstore-configuration.json`.
2. Copy `build-system/fake-codesigning`. Create and download provisioning profiles, using the `profiles` folder as a reference for the entitlements.
3. Generate an Xcode project:
[code]
## IPA
1. Repeat the steps from the previous section. Use distribution provisioning profiles.
2. Run:
[code]
# FAQ
## Xcode is stuck at "build-request.json not updated yet"
Occasionally, you might observe the following message in your build log:
[code]
Should this occur, simply cancel the ongoing build and initiate a new one.
## Telegram_xcodeproj: no such package
Following a system restart, the auto-generated Xcode project might encounter a build failure accompanied by this error:
[code]
If you encounter this issue, re-run the project generation steps in the README.
# Tips
## Codesigning is not required for simulator-only builds
Add `--disableProvisioningProfiles`:
[code]
## Versions
Each release is built using a specific Xcode version (see `versions.json`). The helper script checks the versions of the installed software and reports an error if they don't match the ones specified in `versions.json`. It is possible to bypass these checks:
[code]
Blurb generated by claude-haiku-5-5 2d ago. Star deltas marked ~ are extrapolated from partial history.