题外话
最近新入职,花了一点时间学习iOS的动画相关的知识,当然还要学习一些目前工作所需要的预备知识。
之前的公司iOS项目很小,只有我一个人开发,代码和版本管理也比较随意,但是新的公司项目比较大,功能模块很复杂,其中很多功能其实是可以独立出来的,但是由于项目初期并没有考虑到这一点,后面需求和功能越来越多,就导致整个项目很臃肿,现在正在尝试,将其中可以独立出来的功能,进行组件化给独立出来,类似于一种重构,从而提高项目的可维护性,目前给的任务大概的是组件化其中某一个模块。所以花了一点点时间自己看了一点资料,并进行测试。
正式开始
CocoaPods首先是必须安装和配置好的,然后XCode和XCode Tools也是要有的。我目前测试进行组件化使用的是github作为我的git仓库来测试的,到时候去了公司的话直接将对应的git仓库地址替换一下即可。
1.创建好对应的远程仓库。
所以在公司的话,应该会有管理员创建好一个仓库,要不直接使用本地仓库,这里我选择使用github远程的仓库,登陆自己的github,然后创建一个空的repository:
取出其git地址,我做测试时用的名称是:OOListBox。我随便写的一个下拉列表的控件。
2.使用pod创建一个组件工程
我就直接上代码了。
先进入到某个想要创建工程的目录,比如我cd /Users/admin/Documents/GitHub
.
然后使用pod的创建一个组件工程:pod lib create OOListBox
.
在创建的过程中,会有一个引导过程,就像安装一般的软件一样,反正最后按照需要创建就好了。比如我的:
创建完成之后,就会自动启动XCode并打开对应的项目:
然后按照自己的需要编辑好 .podspec文件和README.md文件。此时其实已经生成好了我们的组件开发目录结构:
其中红色圈起来的部分,就是我们可以进行组件化开发的目录。
3.将创建的好的组件项目工程提交到仓库
pod工具创建好的工程里面应设置了用git进行管理,所以这里我们只需要把我们在第1步创建好的仓库添加进来就好了,先进入到我们刚刚创建好的工程目录,然后执行以下命令:
#a.添加远端仓库,其中origin这个只是一个引用名称,根据自己的喜好设置就好了
git remote add origin https://github.com/BladeTail/OOListBox.git
#b.将所有的创建好的文件添加到本地仓库需要提交的列表
git add .
#c.提交到本地仓库
git commit -m 'Init lib project.'
#d.提交到远程仓库master主分支,如果是其他分支,将master修改为其他分支名称即可
git push -u origin master
其中第四步可能会出现意外的错误,比如:
这原本是一个初始化的过程,但是因为这个是我自己的问题,在已有的仓库里使用其他的方式进行过修改,导致初始化就有问题了。所以按照提示,我应该先pull一下,使本地仓库和远程仓库初始一致。正常来讲是不会有问题的,所以没有问题的应该像下面这样:
结束
如此,一个组件化配置的过程就算完成了,这样的化,我们创建好的组件就可以像正常的项目开发一项进行开发,然后在正常的项目里面使用pod进行引用了。关于pod的使用,建议参考这位小伙伴的你真的会写Podfile吗?.