为什么需要把一些公用的模块组件化?
1.编译加快
2.分工明确,提示开发效率
3.降低耦合度,更加灵活
4.提高代码质量,方便单元测试
5.回滚代码更方便,更容易上手
整体思路:
1.在github上创建一个的项目
2.创建pod所对应的一些文件(如:podspec)
3.Cocoapods注册Trunk
4.更新podspec,创建不同的版本
5.新项目中使用cocopods Pod项目
pod公有库
1.在github上创建一个的项目
创建完项目之后 把项目之间clone到本地
1.在桌面创建一个文件夹用来放clone下来的项目 文件夹名:CBMdFlyDesk
2.终端操作: cd 到这个文件夹目录,把github上的项目clone到这个文件夹中
1. $ cd /Users/mac/Desktop/CBMdFlyDesk
2. $ git clone https://github.com/1223460708/CBMdFly
创建.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文件夹中
然后把添加的资源文件添加git并提交
1 . //添加所有文件
$ git add .
2. //提交
$ git commit -m "all files"
3. //push到远程仓库
$ git push >>如果有如下错误
错误解决:打开隐藏文件.git/config
url = https://github.com/1223460708/CBMdFly
改为
url = https://1223460708@github.com/1223460708/CBMdFly
注: 1223460708 改为自己github的用户名 url = https://用户名@github.com/用户名/CBMdFly
改完之后保存在运行 $ git push
4. 设置项目tag值 ,需要在 .podspec 文件中配置,用xcode打开
$ git tag "v0.0.1"
注意tag值前的v
5.将tag添加远程仓库
$ git push --tags
6. 添加到主分支上
$ git push origin master
设置.podspec文件
可以根据我的配置修改你的.podspec
通过手动方式检验一下你的.podspec是否正确
// 进到.podspec所在目录
$ pod spec lint
// 如果出现错误,根据提示修改 直到没有错误了在执行下一步
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 1223460708@qq.com "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来创建私有库
创建完成之后 把项目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使用了
但是由于是私有库 ,所以需要在Podfile添加source源
source 'https://github.com/CocoaPods/Specs'
source 'https://git.oschina.net/wangcccong/CBCodingMdFive.git'
先介绍到这了哈~~ 感谢 http://www.jianshu.com/p/37fa98220678 文章作者
网友评论