组件优化 - 多project方案
背景
经销商项目目前是混合项目,有oc、swift、flutter,并对应各自的一些三方库,并随着需求的增加,项目代码体积也越来越大,编译速度也相应的慢了很多,这也严重影响了开发速度,故目前的期望是可以大力度降低编译的时间,考虑到项目中已采用组件化方案,如果每个组件只需要编译当前组件的代码,而不需要编译其他无关的代码,那么编译速度就可以极大的降低,故有了此次的技术优化需求。
效果
在当前个人使用的电脑上统计得到的时间如下
经销商项目编译时间:200s
检测报告组件编译时间:108s
我的出价组件编译时间:70s
可以直观的看到,组件编译时间远低于项目编译时间。故需求涉及到组件的修改时,在对应组件project下完成需求,可以更有效的进行开发。
使用方式
I. 一个Workspace同时管理多个Project,项目结构:
每个project都是一个组件app,需在每个project编写对应的入口代码。
II. 多个Project需共用一个podfile,如下图所示:
1、首先需指定当前workspace文件
workspace 'TTPModules.xcworkspace'
2、project中需指定项目路径
# 辨识是哪个项目
project 'TTPModulesProjects/CheckReportProject/CheckReportProject.xcodeproj'
III. workspace没有显示对应project的target
按上图操作,可自动生成对应project的target
选择对应project的target,运行即可。