世事洞明皆学问,人情练达即文章。这篇文章主要讲述由美团文章“一款可以让大型iOS工程编译速度提升50%的工具”引出的.hmap文件(下)hmap落地相关的知识,希望能为你提供帮助。
文章图片
前言上篇文章由美团文章“一款可以让大型iOS工程编译速度提升50%的工具”引出的.hmap文件探索介绍了什么是hmap,有什么用!文章结尾我说会进行落地,然后就比较坑了,感觉不落地,这以后都没法交代,没法继续写文章了!后面不再写这样的话了,坑!
结果展示
- 1.创建个项目工程,如下图所示,红框为
自己写的组件
文章图片
- 2.
Pod目录
文章图片
- 3.使用写的
插件
,生成
我们需要的hmap
文章图片
- 4.
文件变化
文章图片
文章图片
- 5.
读取
一下hmap
文章图片
- 6.
优化结果
文章图片
文章图片
分析上面我们也看到了,我们是
通过pod命令
来实现生成的hmap
的,那么我们就需要使用ruby语言
来实现
这个功能
- 1.看下这个插件
文章图片
文章图片
- 2.
更新bundle
,因为在写ruby
,也会引入依赖库
,就和项目引入第三方库类似
文章图片
文章图片
文章图片
- 3.生成插件
文章图片
- 4.查看插件
文章图片
代码分析代码也没啥分析的,因为我的ruby学的也不怎么样,就粗略的说一下
hmap创建
- 1.
通过pod获取相关信息
文章图片
- 2.
获取将要生成的Header路径
文章图片
- 3.
获取pod所有的Target,通过Target名称生成相应的文件
文章图片
- 4.
将hmap路径生成好
文章图片
- 5.
将生成的hmap路径导入xcconfig中
文章图片
hmap写入
上面说了
hmap创建
并将路径写入到xcconfig中
,下面说下怎么写入的- 1.
生成Header
文章图片
- 2.
生成Bucket
文章图片
- 3.
生成String
文章图片
最后今天总算写完了,代码没有细讲,就是粗略的说了下,会ruby的看看就知道啥意思,不会ruby讲的细也不知道啥意思,只需要会用就好了,文后我会放出代码
后续测试没啥问题,优化了其中的一切代码,完善了一些功能。贴出来插件链接:hmap落地。最后补充这个hmap插件对组件化项目效果明显
推荐阅读
- iOS开发面试只需知道这些,技术基本通关!(数据结构与算法篇附加安全加密)
- 八天让iOS开发者上手Flutter!
- 这么递名片才高效!教你给应用开发个交换名片功能
- Flutter如何状态管理
- iOS开发面试只需知道这些,技术基本通关!(多线程篇)
- 如何使用JavaScript将文本轻松复制到剪贴板
- 如何在JavaScript中为DOM元素创建自定义事件
- 混淆你的JavaScript,使用户无法阅读
- IntersectionObserver功能(Chrome 51功能,知道特定元素何时处于视口内或视口外)