代码下载:
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,跑起来就没问题了。
参考内容
现在我也在研究这个telegram-iOS 但是现在的问题是运行不正常
buck project的话 会出一堆错误 直接进行后面的make project 生成的xworksprojct的文件是在telegram目录文件下,运行的话也是一堆错误
不知道你的运行成功了没有,希望你有时间的话给下指导。万分感谢
telegram-iOS的版本是 6.1.2
Xcode 11.4