Source code and build instructions for the Telegram iOS messaging app
翻譯準備中
營運團隊修訂
社交Swift · CGitHub @TelegramMessenger自行安裝營運者未確認
試用過了嗎? 點一下就好,不需要登入。
製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗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.
git clone --recursive -j8 https://github.com/TelegramMessenger/Telegram-iOS.git
Install Xcode (directly from https://developer.apple.com/download/applications or using the App Store).
openssl rand -hex 8
Telegram as the Product Name. Use org.{identifier from step 1} as the Organization Identifier.Keychain Access and navigate to Certificates. Locate Apple Development: [email protected] (XXXXXXXXXX) and double tap the certificate. Under Details, locate Organizational Unit. This is the Team ID.build-system/template_minimal_development_configuration.json. Use data from the previous steps.python3 build-system/Make/Make.py \
--cacheDir="$HOME/telegram-bazel-cache" \
generateProject \
--configurationPath=build-system/template_minimal_development_configuration.json \
--xcodeManagedCodesigning
build-system/appstore-configuration.json.build-system/fake-codesigning. Create and download provisioning profiles, using the profiles folder as a reference for the entitlements.python3 build-system/Make/Make.py \
--cacheDir="$HOME/telegram-bazel-cache" \
generateProject \
--configurationPath=configuration_from_step_1.json \
--codesigningInformationPath=directory_from_step_2
python3 build-system/Make/Make.py \
--cacheDir="$HOME/telegram-bazel-cache" \
build \
--configurationPath=...see previous section... \
--codesigningInformationPath=...see previous section... \
--buildNumber=100001 \
--configuration=release_arm64
Occasionally, you might observe the following message in your build log:
"/Users/xxx/Library/Developer/Xcode/DerivedData/Telegram-xxx/Build/Intermediates.noindex/XCBuildData/xxx.xcbuilddata/build-request.json" not updated yet, waiting...
Should this occur, simply cancel the ongoing build and initiate a new one.
Following a system restart, the auto-generated Xcode project might encounter a build failure accompanied by this error:
ERROR: Skipping '@rules_xcodeproj_generated//generator/Telegram/Telegram_xcodeproj:Telegram_xcodeproj': no such package '@rules_xcodeproj_generated//generator/Telegram/Telegram_xcodeproj': BUILD file not found in directory 'generator/Telegram/Telegram_xcodeproj' of external repository @rules_xcodeproj_generated. Add a BUILD file to a directory to mark it as a package.
If you encounter this issue, re-run the project generation steps in the README.
Add --disableProvisioningProfiles:
python3 build-system/Make/Make.py \
--cacheDir="$HOME/telegram-bazel-cache" \
generateProject \
--configurationPath=path-to-configuration.json \
--codesigningInformationPath=path-to-provisioning-data \
--disableProvisioningProfiles
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:
python3 build-system/Make/Make.py --overrideXcodeVersion build ... # Don't check the version of Xcode