前言:看到AFNetworking可以通过Cocopod部署到项目中,相信很多人都想做一个自己的依赖库,那么接下来,我们做一个简单的流程教大家如何部署一个依赖库 (视频链接:http://v.youku.com/v_show/id_XMzA5ODkyODExMg==.html?spm=a2h3j.8428770.3416059.1)
1.建立依赖库导入到本地
1.1建立依赖库

1.2复制git链接

1.3导入到本地,这里通过sourcetree导入到桌面

也可以通过终端克隆到本地
2上传依赖文件到git
2.1 制作podspec文件(两种方式)
①copy我的podspec文件然后修改对应的参数
②执行以下创建命令(推荐这种)
cd 到克隆到本地的git文件,并创建
pod spec create makeCocopod

然后打开刚才创建的文件,这里边全是初始化的信息

删除原有spec中的信息,将一下信息复制到spec文件中
Pod::Spec.new do |s|
s.name = "DDFactorya"
s.version = "1.0.0"
s.ios.deployment_target = '8.0'
s.summary = "测试"
s.homepage = "https://github.com/wangkecheng/DDFactorya"
s.license = { :type => "MIT", :file => "LICENSE" }
s.author = { "warron" => "670894753@qq.com" }
s.source = { :git => "https://github.com/wangkecheng/DDFactorya.git", :tag => "#{s.version}" }
s.source_files = "DDFactorya", "*.{h,m}"
s.requires_arc = true
end

2.2将依赖文件拷贝进依赖文件夹

这里只是很简单的演示
2.3上传到git仓库
第一种:直接source-tree:我采用这种方式
推到仓库后
git tag '1.0.0'
git push --tags
(更新时用)
set the new version to 1.0.0 set the new tag to 1.0.0 (1.0.0要与podspec的version对应)

第二种:终端输入代码
git add -A
git commit -m "Release 1.0.0."
git tag '1.0.0'
git push --tags
git push origin master
若提示远端仓库aleady exists
输入:git remote rm origin 再推一次
2.4 验证邮箱
先更新pod
sudo gem install cocoapods
然后验证
pod trunk register 670894753@qq.com 'wangkecheng' --verbose

去邮箱验证


验证成功信息
pod trunk me

3.trunk podspec文件先cd到podspec文件所在目录
先验证能不能通过(节省时间)
pod spec lint makeCocopod.podspec --verbose

若未报红,此时可以trunk文件了
pod trunk push makeCocopod.podspec
执行上面的push操作,就相当于你把你的源代码提交给CocoaPods团队审核了,现在CocoaPods审核只需要几秒钟或者几分钟就可以完成了。

三、更新本地pod依赖
既然代码提交已经结束,那为什么还要这一步呢?因为你不知道什么时候会审核通过。你可能会说,使用"pod search"命令查一查不就知道了吗?但遗憾的是如果这一步不执行,那在你的电脑上永远不知道代码何时审核通过。举个例子,pod search后仍旧查不到:

然后 pod setup
处于Setting up CocoaPods master repo 可能很耗时,执行过程中,可以新开一个Terminal,cd到~/.cocoapods目录,用du -sh来查看下载进度 ,那就只有等更新成功, 然后再执行pod search命令, 结果如下:
因此,在这一环节中你需要这么做:
在trunk push后,先用"pod search"查找一下你的代码,没有的话执行"pod setup"进行本地依赖库更新,再search。
podspec文件更新方法
有时你可能会遇到这种情况:执行pod trunk push操作后发现podspec文件的某个地方写错了,想更新一下。对于这种情况,我们可能会先尝试着在把podspec文件push一次。但是如果你的代码版本号没变(podspec里的version自然也没变)就会提示push失败,即使你更改了podspec的其他地方,pod也会认为这两个文件是同一个。 先更新源代码版本号(如:1.0.0->1.0.1),重新push version tag,然后再执行pod trunk push操作。
最后是参考文章
http://www.cnblogs.com/wengzilin/p/4742530.html
http://blog.csdn.net/wzzvictory/article/details/20067595
http://www.jianshu.com/p/2db411e66d07
网友评论