iOS工程编译速度优化
Posted 王飞飞不会飞
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS工程编译速度优化相关的知识,希望对你有一定的参考价值。
背景
公司的ios工程随着历史迭代,重新编译一遍的话需要450s,非常影响开发效率。
自己试一试二进制pod库,来优化下iOS项目的启动时间。
https://juejin.cn/post/6844904025624674311
https://github.com/su350380433/cocoapods-imy-bin-demo
官方流程
1.创建一个存放二进制私有源仓库
如:https://github.com/su350380433/example_spec_dev
并添加到本地仓库中
pod repo add example_spec_bin_dev git@github.com:su350380433/example_spec_bin_dev.git
2.安装mongodb
# 进入 /usr/local cd /usr/local # 下载 sudo curl -O https://fastdl.mongodb.org/osx/mongodb-osx-ssl-x86_64-4.0.9.tgz # 解压 sudo tar -zxvf mongodb-osx-ssl-x86_64-4.0.9.tgz # 重命名为 mongodb 目录 sudo mv mongodb-osx-x86_64-4.0.9/ mongodb #创建一个数据库存储目录 /data/db: sudo mkdir -p /data/db
3. 启动mongod
sudo mongod
4. 启动静态资源服务器
cd ../binary-server npm install npm start #确保mongod 已经启动成功
实际问题
-
sudo mkdir -p /data/db 报错 mkdir: /data/db: Read-only file system
解决方案:https://blog.csdn.net/shine_a/article/details/104201167
- sudo mongod 报错 sudo: mongod: command not found
解决方案:https://www.cnblogs.com/zwjphp/p/14030946.html
成果
最后发现能稍微快一点点。只有10s左右这样的效果。
再次尝试
这次锁定CCache这个方案,参考文档https://zhuanlan.zhihu.com/p/27584726
实施步骤
-
安装ccache
-
创建ccache脚本文件
-
xcode配置脚步文件
-
xcode配置Module Enable 为NO
-
修改代码
实际问题
实际问题主要是Module设置成No之后代码需要调整。因为涉及到swift混编。
最终成果
经过10次尝试,编译时间已经稳定在270s左右。相比于最开始的450s,提高了40%。
以上是关于iOS工程编译速度优化的主要内容,如果未能解决你的问题,请参考以下文章
由美团文章“一款可以让大型iOS工程编译速度提升50%的工具”引出的.hmap文件(下)hmap落地