组件化流程详解(一)
第一篇主要介绍以下几点:
1.创建本地仓库
2.创建远程仓库
3.本地仓库关联远程仓库
4.标签(本地,远程)
5.使用cocoaPods
6.创建修改podspec
tip:第一篇只涉及公开库,不涉及私有库
一、创建远程仓库
在这里我们用的github上的公共仓库
1.png
创建完之后
2.png
二、创建本地仓库
cd到创建的项目路径下
初始化本地仓库 git init
向仓库里添加代码 git add .
提交本地修改 git commit -m "xxx"
关联远程仓库 git remote add origin xxxxx
将本地代码推送到远程仓库 git push origin master
此时再打开github上自己创建的仓库,本地仓库的代码已经上传到了远程仓库
4.png
三、标签
组件化的版本管理和标签息息相关,开发人员pod组件之前都会修改版本号,指定该版本的组件库。并且tag这是做一个标记,跟源码没有任何关系,相当于只是打包一下当前的代码进度
5.png
本地标记一个 git tag xxxx
查看本地标记 git tag
将本地tag 推送到远程仓库 git push origin --tags
6.png
删除本地tag git tag -d xxxxx
删除远程tag git push origin :0.0.1
7.png
四、cocoaPods的使用
cd到当前项目的路径下
创建Podfile文件 touch Podfile
编辑Podfile内容(这里以AFN为例)
8.png
下载第三方库 pod install
9.png
下次需要添加新的库的时候修改Podfile文件即可,然后执行pod install
那么pod install 和 pod update 有什么区别呢?
pod install第一次会根据Podfile文件安装,有了Podfile.lock文件后会根据.lock文件安装。
pod update是根据Podfile文件进行安装第三方框架。
团队开发中一般都是使用pod install,除非大家一起使用pod update升级本地库。
10.png五、创建修改框架描述文件(podspec)
创建框架描述文件,cd 到项目路径下执行
pod spec create xxxxx
按下面👇修改podspec文件
打标签
git tag
注册trunk
pod trunk register 522070742@qq.com 'Li' --verbose
13.png
然后打开邮件确认下信息,如果出现👇这种界面,说明已经注册成功了
14.png
将本地的描述文件push到远程仓库
pod trunk push LStudent.podspec --allow-warnings
16.png
现在可以使用 pod search LStudent来搜索一下自己的库
如果搜索不到的话,可以👇方法,然后重新搜索
检索第三方库pod search 关键字。
内部做的事情:从本地缓存的“第三方框架描述信息”生成的检索文件中检索到相关框架的信息。
如果检索不到,需要删除cocoapods索引文件。
rm ~/Library/Caches/CocoaPods/search_index.json
17.png
18.png
到此为止,我们可以看到自己写的类已经可以在cocoaPods上搜到了
六、应用自己创建的库
创建一个工程Demo_person,cd到当前目录
创建Podfile文件,填写内容
19.png
pod install
20.png
现在的项目结构是👇
21.png
七、cocoaPods常用操作
cocoapods的重要路径
本地索引库路径:/Users/用户名/.cocoapods/repos/master
检索索引文件路径:/Users/用户名/Library/Caches/CocoaPods
pod命令安装路径:/usr/local/bin
cocoapods的相关操作
1.查看第三方框架仓库 pod repo
2.移除仓库原 pod repo remote master
3.添加仓库源 pod repo add master url
4.初始化(下载服务器中所有第三方框架信息,缓存到电脑本地)
tips:该文章思路参考了一个大佬的文章,细化了远程公开库和本地仓库的链接过程,忽略了本地仓库之间的关系,大佬文章点击 狂点这里