Telegram iOS开源代码编译

代码下载:

https://github.com/TelegramMessenger/Telegram-iOS

官方说明太简单了……他是用的是Facebook的buck来管理编译,先安装需要的工具

brew install yasm cmake
brew tap AdoptOpenJDK/openjdk
brew cask install adoptopenjdk8
brew tap facebook/fb
brew install buck

buck使用的java8,Mac上自带的java都到13了,所以要装jenv来做环境管理

brew install jenv

#以下内容加到bash_profile里面,source之后jenv就可以用了
export PATH=”$HOME/.jenv/bin:$PATH”
eval “$(jenv init -)”

jenv add /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home
jenv global openjdk64-1.8.0.242

下面这一步开始懵逼,官方readme说打开xcode的workspace,翻来翻去找不到,原来要用make来产生workspace文件,参考这里设置一些基本参数,注意修改bundleID,可以自己编一个,API相关密钥可以在这里注册。

工程里面建议是把证书全部改到Xcode自动管理会比较省事,然后把AppGroup、ApplePay的MerchantID都改下,因为是要和bundleID关联的。改完这一些已经可以编译过了。

真机跑起来提示libAsyncDisplayKit.dylib签名不对,这时候回到主程序的scheme里面把所有dylib从Embed Without Signing改为Embed & Sign,跑起来就没问题了。

参考内容

  1. build Telegram Messenger iOS App
  2. Telegram iOS源码二次开发介绍(1)
  3. Reproducible Builds for iOS and Android
  4. 编译自己的iOS版Telegram
  5. Telegram-iOS Swift 编译问题

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据