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 编译问题

Telegram iOS开源代码编译》有1个想法

  1. zhao

    现在我也在研究这个telegram-iOS 但是现在的问题是运行不正常
    buck project的话 会出一堆错误 直接进行后面的make project 生成的xworksprojct的文件是在telegram目录文件下,运行的话也是一堆错误
    不知道你的运行成功了没有,希望你有时间的话给下指导。万分感谢
    telegram-iOS的版本是 6.1.2
    Xcode 11.4

    回复

发表评论

您的电子邮箱地址不会被公开。

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