前言:
Telegram不知道有多少同行听过这玩意,或者在看它的源码。我是出于工作原因才接触到这东西,看的真是的......变方了!一个月估计刚刚找到门,还没进去多深,把自己的心得和对源码的认识以及我工作中一些列的关于这个Telegram引发的问题全都写出来,希望可以遇到同路中人,大家一起探讨学习!有兴趣的同行可以加文章最后面的telegramiOS开发学习群,一起学习讨论Telegram问题,一起进步!
先认识一些Telegram的源码以及基本框架的一个框架,遇到的问题我们会一点点的解决!
一:下载完了源码懵了没?
首先的说一下,我现在能完整运行的这份源码呢,是公司以前的同事运行起来的,听说妹纸运行了一个星期,真的是...辛苦了,谢谢你了,最后我还是尝试着在最新git源码的基础上重新运行一份,增加一下让它能完整运行的经验,希望可以帮到大家,下面是自己整理完之后能够完整运行的git链接,我是把它上传到自己的git。当然你可以去它原来的git下载,自己尝试着运行一下。下面链接这份我是经过了国际化处理的,让它支持了中文!!
编译通过版本3.16 -- iOS端Telegram源码链接
Telegram运行起来,可能没那么容易。
二:整体的一个框架认识
先看一下源码整体的一个架构,下面的图就是源码的框架截图:
嗯,第一感觉肯定是很乱,其实你的感觉没错,是真的很乱!这些东西要分析写出来就真的太多了,说那个文件是什么控制器,那个东西在哪里,感觉没有太大的意义,z这里简单的说一下一个大概,可能刚看的时候会与一点用吧,最下面有群,有问题加进来一起讨论吧。有两个地方提一下,看下面的图,单从最简单的出发的话,下面两个地方你关注的可能会多一点:
1:控制器
2:消息发送接收
这里面主要你要了解项目宗最基本的开始的话,几乎都在Telegraph文件里面,我就大概的总结一下这个文件里面的子文件