Telegram 源码下载地址:https://github.com/TelegramMessenger/Telegram-iOS
环境
- 拉取版本: 8.7.1
- Xcode 版本:13.2.1
- Bazel 版本: 5.1.0
1、从 git 上 clone 源码
gitclone--recursive-j8 https://github.com/TelegramMessenger/Telegram-iOS.git
2、进入下载完毕的源码
cd Telegram-iOS
3、生成 telegram-configuration 目录文件夹,并生成配置文件
mkdir -p $HOME/telegram-configuration
cp -R build-system/example-configuration/* $HOME/telegram-configuration/
执行完以上步骤,此时,你的 Telegram-iOS 文件夹旁多了一个 telegram-configuration 文件夹:
先不用管新生成的这个文件夹,接着我们打开 Telegram-iOS 文件夹,找到 versions.json 文件,双击打开:
app:编译打包出来的 ipa 版本,可以根据自己需要改
bazel:构造项目工具,google 开源工具,表示需要 5.1.0 版本的 bazel
xcode:与你本地 Xcode 版本相匹配,本人使用的是 Xcode 13.4.1,就将这里改为 13.4.1,但强烈建议使用它注明的 Xcode 版本
4、重新进入到 Telegram-iOS
cd Telegram-iOS
接着输入命令生成 Xcode 项目
python3 build-system/Make/Make.py \
--cacheDir="$HOME/telegram-bazel-cache" \
generateProject \
--configurationPath="$HOME/telegram-configuration" \
--disableExtensions \
--disableProvisioningProfiles
首次执行,脚本会去尝试下载 bazel,因为国内特殊原因,很大概率会下载失败,然后导致脚本无法执行接下来的操作,那我们可以去手动下载,依次打开:
Telegram-iOS/build-system/Make/BazelLocation.py
将可以看到以下内容:
不难发现,我们可以自行拼接下载链接:
https://github.com/bazelbuild/bazel/releases/download/{version}/{name}
因为我们需要下载的版本是 5.1.0,我电脑不是 M1 芯片,所以最终我的链接是:
https://github.com/bazelbuild/bazel/releases/download/5.1.0/bazel-5.1.0-x86_64
M1 芯片电脑的链接就是替换为上面那个后缀:
https://github.com/bazelbuild/bazel/releases/download/5.1.0/bazel-5.1.0-darwin-arm64
将链接在浏览器打开,等待下载好所需版本的 bazel,下载完毕以后打开 Telegram-iOS 文件夹,看是否存在一个 build-input 文件夹,存在的话,将 build-input 里面其他文件删除掉,将下载好的 bazel 放进去,不存在 build-input 文件夹就自己创建一个 build-input 文件夹,同样将下载好的 bazel 放进去。
5、重新执行 步骤4 命令,就能看到我们期待的 Telegram 项目启动起来了