一.概念-(索引文件/远程索引库/本地索引库/远程代码库/本地代码库)
索引文件
- 索引文件:当我们通过
pod lib create 组件名
创建本地组件库的时候里面对应会有一个组件名.podspec
文件.这个文件就是该组件的索引.(个人理解啊,不喜勿喷)
远程索引库
- 远程索引库:远程用来存放索引文件的库.(Github,Gitee等,本文使用Gitee)
本地索引库
- 本地索引库:与远程索引库对应,本地索引库是用来存放本地索引文件的库.
远程代码库
- 远程代码库:用来存放组件化代码的远程仓库.(Github,Gitee等)
本地代码库
- 本地代码库:与远程代码库对应,本地组件化代码的仓库.
二.基础组件化实现
1.创建远程索引库
- 在Gitee上创建名为
HXSModuleSpecs
远程仓库。
2.创建本地索引库
- 在创建之前可以在本地查看有没有名为
HXSModuleSpecs
本地索引库。查看命令:pod repo
。 - 查看之后没有,那么就需要创建了。创建命令:
pod repo add <本地索引库名> <远程索引库的git地址>
(本地索引库名与远端索引库名可以不一致,但建议还是起一样的名字)。eg:pod repo add HXSModuleSpecs https://gitee.com/hxs1024/HXSModuleSpecs.git
3.创建远程代码库
- 在Gitee上创建名为
HXSTools
远程仓库。
4.创建本地代码库
- 可以自己选择路径。
cd
到选择好的路径下执行pod lib create 组件名
,eg:pod lib create HXSTools
-
会出现配置相关的选项。按需选就好了。填完之后会自动打开一个项目。
-
5.私有化库准备工作
-
在
Finder
中打开上面创建的项目。把需要私有化的文件复制到项目的Classes
目录下面。eg:我是把HXSDefines
放到了该目录下面。ReplaceMe
文件删掉就行了。
在终端中
cd
到HXSTools
的Example
目录下,执行pod install
命令。编译成功后下一步。
6.编辑索引文件 (有坑😂)
-
索引文件就是以
.podspec
结尾的文件。未修改之前。eg:
-
修改之后。eg:
s.version 是私有库的版本。个人习惯从1开始。
s.summary 是私有库的简介。
s.description 是私有库的详细描述。
s.homepage 是私有库的地址。我这里是填的远程仓库的URL。可以填自己的博客地址什么的都可以。
s.source 是私有库的git地址。是带.git的URL。
s.dependency 是私有库的依赖。我这里是HXSDefines.h用到了YYCategories。
- 修改完之后,编译通过就OK了。
7.提交代码到远程代码库。并打tag
.(tag
很重要!)
- 一波
git
操作。
git add .
git commit -m "(日志内容)"
git remote add origin <远程代码库地址>
git push origin master -f (因为是第一次提交,个人习惯加-f)
git tag <tag值>
git push --tags
8.验证podspec索引文件.(有坑😂)
- 执行
pod spec lint --verbose --allow-warnings
命令。
9.提交索引到远程索引库。
- 上一步的验证通过之后,执行
pod repo push <本地索引库> <索引文件名> --verbose --allow-warnings
命令。eg:pod repo push HXSModuleSpecs HXSTools.podspec --verbose --allow-warnings
- 搞定。可以在
Finder
中查看索引文件是否有了。