由美团文章“一款可以让大型iOS工程编译速度提升50%的工具”引出的.hmap文件(下)hmap落地

世事洞明皆学问,人情练达即文章。这篇文章主要讲述由美团文章“一款可以让大型iOS工程编译速度提升50%的工具”引出的.hmap文件(下)hmap落地相关的知识,希望能为你提供帮助。

由美团文章“一款可以让大型iOS工程编译速度提升50%的工具”引出的.hmap文件(下)hmap落地

文章图片

前言上篇文章由美团文章“一款可以让大型iOS工程编译速度提升50%的工具”引出的.hmap文件探索介绍了什么是hmap,有什么用!文章结尾我说会进行落地,然后就比较坑了,感觉不落地,这以后都没法交代,没法继续写文章了!后面不再写这样的话了,坑!
结果展示
  • 1.创建个项目工程,如下图所示,红框为自己写的组件
由美团文章“一款可以让大型iOS工程编译速度提升50%的工具”引出的.hmap文件(下)hmap落地

文章图片

  • 2.Pod目录
由美团文章“一款可以让大型iOS工程编译速度提升50%的工具”引出的.hmap文件(下)hmap落地

文章图片

  • 3.使用写的插件生成我们需要的hmap
由美团文章“一款可以让大型iOS工程编译速度提升50%的工具”引出的.hmap文件(下)hmap落地

文章图片

  • 4.文件变化
由美团文章“一款可以让大型iOS工程编译速度提升50%的工具”引出的.hmap文件(下)hmap落地

文章图片

由美团文章“一款可以让大型iOS工程编译速度提升50%的工具”引出的.hmap文件(下)hmap落地

文章图片

  • 5.读取一下hmap
【由美团文章“一款可以让大型iOS工程编译速度提升50%的工具”引出的.hmap文件(下)hmap落地】
由美团文章“一款可以让大型iOS工程编译速度提升50%的工具”引出的.hmap文件(下)hmap落地

文章图片

  • 6.优化结果
由美团文章“一款可以让大型iOS工程编译速度提升50%的工具”引出的.hmap文件(下)hmap落地

文章图片

由美团文章“一款可以让大型iOS工程编译速度提升50%的工具”引出的.hmap文件(下)hmap落地

文章图片

分析上面我们也看到了,我们是通过pod命令来实现生成的hmap的,那么我们就需要使用ruby语言实现这个功能
  • 1.看下这个插件
由美团文章“一款可以让大型iOS工程编译速度提升50%的工具”引出的.hmap文件(下)hmap落地

文章图片

由美团文章“一款可以让大型iOS工程编译速度提升50%的工具”引出的.hmap文件(下)hmap落地

文章图片

  • 2.更新bundle,因为在写ruby,也会引入依赖库,就和项目引入第三方库类似
由美团文章“一款可以让大型iOS工程编译速度提升50%的工具”引出的.hmap文件(下)hmap落地

文章图片

由美团文章“一款可以让大型iOS工程编译速度提升50%的工具”引出的.hmap文件(下)hmap落地

文章图片

由美团文章“一款可以让大型iOS工程编译速度提升50%的工具”引出的.hmap文件(下)hmap落地

文章图片

  • 3.生成插件
由美团文章“一款可以让大型iOS工程编译速度提升50%的工具”引出的.hmap文件(下)hmap落地

文章图片

  • 4.查看插件
由美团文章“一款可以让大型iOS工程编译速度提升50%的工具”引出的.hmap文件(下)hmap落地

文章图片

代码分析代码也没啥分析的,因为我的ruby学的也不怎么样,就粗略的说一下
hmap创建
  • 1.通过pod获取相关信息
由美团文章“一款可以让大型iOS工程编译速度提升50%的工具”引出的.hmap文件(下)hmap落地

文章图片

  • 2.获取将要生成的Header路径
由美团文章“一款可以让大型iOS工程编译速度提升50%的工具”引出的.hmap文件(下)hmap落地

文章图片

  • 3.获取pod所有的Target,通过Target名称生成相应的文件
由美团文章“一款可以让大型iOS工程编译速度提升50%的工具”引出的.hmap文件(下)hmap落地

文章图片

  • 4.将hmap路径生成好
由美团文章“一款可以让大型iOS工程编译速度提升50%的工具”引出的.hmap文件(下)hmap落地

文章图片

  • 5.将生成的hmap路径导入xcconfig中
由美团文章“一款可以让大型iOS工程编译速度提升50%的工具”引出的.hmap文件(下)hmap落地

文章图片

hmap写入
上面说了hmap创建将路径写入到xcconfig中,下面说下怎么写入的
  • 1.生成Header
由美团文章“一款可以让大型iOS工程编译速度提升50%的工具”引出的.hmap文件(下)hmap落地

文章图片

  • 2.生成Bucket
由美团文章“一款可以让大型iOS工程编译速度提升50%的工具”引出的.hmap文件(下)hmap落地

文章图片

  • 3.生成String
由美团文章“一款可以让大型iOS工程编译速度提升50%的工具”引出的.hmap文件(下)hmap落地

文章图片

最后今天总算写完了,代码没有细讲,就是粗略的说了下,会ruby的看看就知道啥意思,不会ruby讲的细也不知道啥意思,只需要会用就好了,文后我会放出代码
后续测试没啥问题,优化了其中的一切代码,完善了一些功能。贴出来插件链接:hmap落地。最后补充这个hmap插件对组件化项目效果明显

    推荐阅读