由美团文章“一款可以让大型iOS工程编译速度提升50%的工具”引

2021-08-11  本文已影响0人  iOS鑫

前言

上篇文章由美团文章“一款可以让大型iOS工程编译速度提升50%的工具”引出的.hmap文件探索介绍了什么是hmap,有什么用!文章结尾我说会进行落地,然后就比较坑了,感觉不落地,这以后都没法交代,没法继续写文章了!后面不再写这样的话了,坑!

结果展示

发现podxcconfigHEADER_SEARCH_PATHS添加了hmap路径

此时我们的文件目录也发生了变化,在Headers文件中多生成了一个Hmap,在Hmap文件夹下,我们根据Cocoapods引入不同的库而生成了相应的.hmap文件

首先作为一个开发者,有一个学习的氛围跟一个交流圈子特别重要,这是一个我的iOS开发交流群:130 595 548,不管你是小白还是大牛都欢迎入驻 ,让我们一起进步,共同发展!(群内会免费提供一些群主收藏的免费学习书籍资料以及整理好的几百道面试题和答案文档!)

这个和我们上面文章读系统自动生成的格式是一样

上面没有使用hmap的编译时间下面使用了hmap的编译时间,可以明显感觉到编译速度提升了!说明我们做的没错

分析

上面我们也看到了,我们是通过pod命令来实现生成的hmap的,那么我们就需要使用ruby语言实现这个功能

红框就是实现代码文件,通过文件我们可以感觉它特别像组件

上图是项目的组件,而ruby写的其实ruby的组件cocoapods其实就是用ruby写的

引入的依赖

到这一步,意味着更新完成

通过rake install:local命令将写的组件生成我们要用的插件

上面的红框就是我现在使用的cocoapods,下面的就是我们刚生成的

代码分析

代码也没啥分析的,因为我的ruby学的也不怎么样,就粗略的说一下

hmap创建

因为cocoapods也是ruby写的,所以我们可以引入cocoapods,通过cocoapods获取podfile

调用了create方法生成hmap

hmap写入

上面说了hmap创建将路径写入到xcconfig中,下面说下怎么写入的

就是生成HMapHeader,这部分内容在上面文章中讲过了

最后

今天总算写完了,代码没有细讲,就是粗略的说了下,会ruby的看看就知道啥意思,不会ruby讲的细也不知道啥意思,只需要会用就好了,文后我会放出代码

后续

测试没啥问题,优化了其中的一切代码,完善了一些功能。贴出来插件链接:hmap落地。最后补充这个hmap插件对组件化项目效果明显

上一篇下一篇

猜你喜欢

热点阅读