组件化开发前景随笔
随着企业项目的功能不断的扩展,不管是项目的测试还是项目的编译都会遇到很大的问题,编译时间过长,测试不灵活,耦合度高.所以组件化开发变得很有必要.
准备工作
1.安装好Xcode;
2.配置好cocoa pods;
3.有git托管的私有库.
拆分流程
1.创建远程私有索引库,即私有的specs repo .(这里解释一下索引库:我们开发中常用的比如AFN, SDWebImage...等,这些都是开源的库,我们是通过cocoapods官方的索引库来检索的,私有索引库则规定项目成员,或者有权限的人有权限访问).
1.1创建私有的远程索引库步骤(这里以国内的码市(托管平台为例))
1.2找到远程所有的地址(这里可以通过https访问也可以通过ssl,不在一一描述)
2.添加repo到本地(本地索引库)
2.1添加本地私有索引库的步骤
这里我们通过可以
pod repo help
命令看到pod repo add
的命令
2.2添加本地索引库
pod repo add xxxSpecs https://git.coding.net/xxxxx/xxxxxSpecs.git
2.3验证本地私有索引库的创建是否成功
pod repo
当出现2个repo,你创建的本地私有索引库则创建成功.
3.创建pod工程
3.1pod Lib create xxxx
xxxx代表你要创建的pod工程名字
这个命令会从官方获取一个空的pod工程的模板
3.2这时候会生成一个空的模板工程
3.3
这时候模板功能里面就出现了我们写的基本分类
4.把我们写的库托管到远程代码仓库
4.1创建远程的仓库(步骤同上述获取到远程地址)
4.2这时候需要改模板工程里面的.podSpecs
文件
4.3将写好的库同步到远程
4.4远程私有索引库需要版本控制信息,这里需要打tag
git tag '0.1.0'
打上tag
git push --tags
将tag提交到远程仓库
5.向本地私有索引库提交.podspec
git repo push xxxxxx(本地私有私有库的名称) xxxx.podspces(本地模板工程的.podspec)
注意这一步,它会先向本地私有索引库提交.podspec然后自动向远程私有索引库提交 .podspec
6.验证私有库的创建是否成功
pod search xxxx(我们创建私有库的名称)
7.使用我们创建的私有库
正常的创建工程,创建podfile文件
8.远程私有库的依赖解决
开发中我们常用的比如网络的二级封装来作为网络请求基础组件,我们在使用中依赖于AFNetworking,则需要我们修改.podspec文件的信息
这时候我们使用自己的私有库就会一同把依赖的三方库下载下来
8.私有库的优化
8.1优化背景分析
我们在开发中封装的基础组件,有很多种,有时候我们只是单纯的使用某一个分类而不需要网络请求工具类,这时候则需要subspec,来管理.
然后将修改过后的文件提交到远程私有库,同时更新本地私有索引库(自动提交远程私有索引库)
8.2验证修改成果
8.3使用subspaces
我们如果只需要使用其中某一个类就可以在podfile使用
pod 'xxxxxBase/Category'
的命令来使用一个类,而不会造成所有基础组件库全部下载下来.