组件化之-利用Pod发布公用库和私有库


为什么需要把一些公用的模块组件化?

1.编译加快

2.分工明确,提示开发效率

3.降低耦合度,更加灵活

4.提高代码质量,方便单元测试

5.回滚代码更方便,更容易上手


整体思路: 

1.在github上创建一个的项目

2.创建pod所对应的一些文件(如:podspec)

3.Cocoapods注册Trunk

4.更新podspec,创建不同的版本

5.新项目中使用cocopods  Pod项目


pod公有库

1.在github上创建一个的项目


组件化之-利用Pod发布公用库和私有库_第1张图片


组件化之-利用Pod发布公用库和私有库_第2张图片


组件化之-利用Pod发布公用库和私有库_第3张图片

创建完项目之后 把项目之间clone到本地

1.在桌面创建一个文件夹用来放clone下来的项目 文件夹名:CBMdFlyDesk

2.终端操作:   cd 到这个文件夹目录,把github上的项目clone到这个文件夹中

1.   $ cd /Users/mac/Desktop/CBMdFlyDesk

2.  $ git clone https://github.com/1223460708/CBMdFly


组件化之-利用Pod发布公用库和私有库_第4张图片


创建.podspec

1.cd 到项目路径

$ cd /Users/mac/Desktop/CBMdFlyDesk/CBMdFly

2.     pod spec create "name"

>>  "name" 是podspec的名称,一般与github上创建的项目名称一样

$  pod spec create CBMdFly


创建文件夹来放置{.h .m}等资源文件

$ mkdir CBSources

把要上传github的文件拷贝到CBSources文件夹中


组件化之-利用Pod发布公用库和私有库_第5张图片

然后把添加的资源文件添加git并提交

1 .  //添加所有文件

$ git add .

2.   //提交

$ git commit -m "all files"

3.  //push到远程仓库

$ git push       >>如果有如下错误

错误解决:打开隐藏文件.git/config  

url = https://github.com/1223460708/CBMdFly

改为

url = https://[email protected]/1223460708/CBMdFly

注:  1223460708 改为自己github的用户名  url = https://用户名@github.com/用户名/CBMdFly

改完之后保存在运行 $ git push

组件化之-利用Pod发布公用库和私有库_第6张图片

4. 设置项目tag值 ,需要在 .podspec  文件中配置,用xcode打开

$ git tag "v0.0.1"

注意tag值前的v

5.将tag添加远程仓库

$ git push --tags

6.  添加到主分支上

$ git push origin master


组件化之-利用Pod发布公用库和私有库_第7张图片

设置.podspec文件

可以根据我的配置修改你的.podspec

组件化之-利用Pod发布公用库和私有库_第8张图片

通过手动方式检验一下你的.podspec是否正确

// 进到.podspec所在目录

$ pod spec lint

// 如果出现错误,根据提示修改  直到没有错误了在执行下一步


组件化之-利用Pod发布公用库和私有库_第9张图片

Cocoapods注册Trunk

发布pod之前,需要有一个trunk 

$ pod trunk register "Your-Email" "Your-Name" --description="Your-Desc"

> "YourEmail": 任意邮件,但是我比较推荐你使用github上的Email

> "YourName": 推荐使用github上使用的Name

> "Your-Desc": 一个简单的描述,往往这个时候我们使用的是自己电脑的一个描述

//例如:

$ pod trunk register [email protected] "1223460708" --description="Mac 15.6"

// 注册完成后,你可以通过  pod trunk me  查看信息

$ pod trunk me


提交共有的.podspec

$ pod trunk push CBMdFly.podspec

之后可以查看是否成功

$ pod repo update   //更新repo

$ pod search 'CBMdFly'  

如果没有成功

$ pod setup

然后删除

$ rm ~/Library/Caches/CocoaPods/search_index.json

在重新

$ pod search 'CBMdFly'

最后可以在新项目中使用cocopods 来集成我们刚pod的组建了




pod私有库

由于github上的私有库需要费用,所有我这用coding来创建私有库

组件化之-利用Pod发布公用库和私有库_第10张图片
组件化之-利用Pod发布公用库和私有库_第11张图片


组件化之-利用Pod发布公用库和私有库_第12张图片


创建完成之后 把项目clone到本地,创建Sources文件夹,创建.podspec ,修改.podspec

完成到  $ pod spec lint  通过手动方式检验一下你的.podspec是否正确这一步时

创建一个私有Repo

$ pod repo add REPO_NAME SOURCE_URL

REPO_NAME : 库名称

SOURCE_URL:  项目clone的地址

例如:  pod repo add CBCodingMdFive https://git.coding.net/chenjiabing/CBCodingMdFive.git

检查是否操作成功

$ cd ~/.cocoapods/repos/CBCodingMdFive

$ pod repo lint .

添加你的Podspec到私有repo

$ pod repo push CBCodingMdFive CBCodingMdFive.podspec


组件化之-利用Pod发布公用库和私有库_第13张图片


添加成功~

之后就可以去新项目中pod使用了

但是由于是私有库 ,所以需要在Podfile添加source源

source 'https://github.com/CocoaPods/Specs'

source 'https://git.oschina.net/wangcccong/CBCodingMdFive.git'

组件化之-利用Pod发布公用库和私有库_第14张图片

先介绍到这了哈~~  感谢  http://www.jianshu.com/p/37fa98220678 文章作者

你可能感兴趣的:(组件化之-利用Pod发布公用库和私有库)