远程私有库 管理私有项目(2)组件化

学习到这块知识点时,自己做了如下记录:

文章比较长,因为把这四部分放在一起了,方便查看。

(1)创建远程私有库

(2)添加多个文件的方法

(3)自己封装的工具类设置依赖

(4) 分文件夹层级和 pod安装时只指定下载某个工具类


1.创建远程私有库

方便大家理解:整个思路如下图:

远程私有库 管理私有项目(2)组件化_第1张图片
思路

本地新建个文件夹,在该文件夹下 执行以下命令,创建一个模板

1.  TMProject teemo$  pod lib create TeeMoCategory

远程私有库 管理私有项目(2)组件化_第2张图片
1

2 .打开项目,删除Classes里的 ReplaceMe, 把自己想组件化的类丢到Classes里。(这里以简单的类别为例)

远程私有库 管理私有项目(2)组件化_第3张图片
2

3.在码云创建私有库(存放这个组件

远程私有库 管理私有项目(2)组件化_第4张图片
3

创建好后,可以看见如下界面,复制URL 提交类别会用到

远程私有库 管理私有项目(2)组件化_第5张图片

cd   到TeeMoCategory目录,执行以下操作,来提交类别代码到远程私有仓库

git add .

git commit -m "提交类别"

git remote add origin https://gitee.com/TeeMoYan/TeeMoCategory.git //(前面复制的URL 拿过来

git push -u origin mster // 推送到远程仓库, 执行后刷新码云,就可以看到提交的代码了

打开项目里EXample的 xcode 项目 TeeMoCategory.xcworkspace  做如下修改(或者修改TeeMoCategory目录下的TeeMoCategory.podspec文件 是一样的!)

远程私有库 管理私有项目(2)组件化_第6张图片

修改完在终端,输入 pod lib lint  验证修改的(本地.podspec文件)是否正确!

结果报错了!!!

远程私有库 管理私有项目(2)组件化_第7张图片

此时修改里面刚才要注意的地方, 删除最后面的   改为     s.homepage = 'https://github.com/TeeMoYan'

继续验证!

接下来验证远程(提交码云哪里)

pod spec lint //结果又报错了,上面有 s.version = '0.1.0' 找不到这个tag,因此需要打个tag

远程私有库 管理私有项目(2)组件化_第8张图片

git tag '0.1.0' //打个tag

git push --tags. // 推送到远程

继续验证,如下验证成功!


远程私有库 管理私有项目(2)组件化_第9张图片

本地和远程都验证通过后,添加 podspec到 spec库里! master 是cocoapods 的,TMSpec是我自己创建的,不会添加的小伙伴,请看上一篇文章(下面有链接)

pod repo push   

远程私有库 管理私有项目(2)组件化_第10张图片

添加后 就可以使用pod search 'TeeMoCategory' 查看了,但是没搜到,不要着急!

切换到cocoapods 缓存 删除 本地 search_index.json

Caches teemo$ cd ~/Library/Caches/CocoaPods/

然后在终端 pod search 'TeeMoCategory'    (search_index.json这个文件会重新更新


远程私有库 管理私有项目(2)组件化_第11张图片

成功后可以在 cd ~/.cocoapods/repos  看到自己的私有pod.spec


远程私有库 管理私有项目(2)组件化_第12张图片

注意:远程私有 在配置profile 文件时,要这么写!指定使用源

远程私有库 管理私有项目(2)组件化_第13张图片

远程私有库管理私有项目1:(制作密钥和添加自己的pod rep源) :https://www.jianshu.com/p/bd677226dad9

发布自己的pod开源框架到CocoaPods,让别人也能pod安装你写的框架: https://www.jianshu.com/p/31ad115465cc

希望可以帮到大家!



2.添加多个文件

如果还想再添加别的类别 进去,需要注意事项

1.把需要添加的 类 丢就Classes里面,然后提交

git add .

git commit -m "提交类别"

git push 


远程私有库 管理私有项目(2)组件化_第14张图片

2.修改spec文件(TeeMoCategory.podspec


远程私有库 管理私有项目(2)组件化_第15张图片

别忘了pod lib lint 验证本地修改

3.提交修改到远程

git add .

git commit -m "修改tag0.3.0"

git push origin master


4.此时 还需要 打个 tag 0.3.0 ,完成后可以再码云查看到

git tag '0.3.0'

git push --tags 

验证远端spec : pod spec lin t 

远程私有库 管理私有项目(2)组件化_第16张图片

验证没问题:如下

远程私有库 管理私有项目(2)组件化_第17张图片


5.cd ~/.cocoapods/repos  下查看本地索引库没有0.2.0的版本,因此需要添加


pod repo push  添加自己修改的po spec 到spec索引库

远程私有库 管理私有项目(2)组件化_第18张图片

显示有版本了,就可以正常使用了。记得修改profile 里版本为0.3.0哦

远程私有库 管理私有项目(2)组件化_第19张图片


3.添加有依赖的类


远程私有库 管理私有项目(2)组件化_第20张图片

添加依赖!(假如你是在 第三方MBProgressHUD 基础上封装了一个工具类

修改spec文件时,多修改一个地方,如下图:(其他操作和第二部分一样)


远程私有库 管理私有项目(2)组件化_第21张图片

使用时在profile 还要指定 cocoaspod的源(URL

远程私有库 管理私有项目(2)组件化_第22张图片
远程私有库 管理私有项目(2)组件化_第23张图片


4.指定安装某个工具类

大家或许还有两个疑问

1.细心的小伙伴或许会发现,项目中类是分好文件夹的,但是 通过pod 安装的却没有,因为cocoapods 是默认只有两层的。

2.如何只安装 一个文件夹下的工具类呢?

这就需要我们在spec文件处理下。修改spec 如下


远程私有库 管理私有项目(2)组件化_第24张图片

2. 修改完后提交

git add .

git commit -m "提交分组Spec"

git push origin master

3.打个tag,和spec文件中一置

git tag 0.10.0

git push --tags

4.验证没问题提交(pod lib lint  和pod spec lint 验证

pod repo push  +你的spec库 + spec文件


成功后通过 pod search  就可以搜索到

远程私有库 管理私有项目(2)组件化_第25张图片

使用时 在podfile 文件修改如下:(此时就会发现分好文件夹了

远程私有库 管理私有项目(2)组件化_第26张图片


希望可以帮到大家!

你可能感兴趣的:(远程私有库 管理私有项目(2)组件化)