代码下载:
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,跑起来就没问题了。
参考内容