为了让读者一目了然,现在就从新建工程到最后提交podspec,简单粗暴的讲一通。
Cocoapods不用解释太多,一句话...它是目前iOS开发中最广为使用的第三方库依赖管理工具。

下面开始讲创建pod的过程:

第一步:创建工程
使用pod lib create命令创建新的工程

pod lib create MyLib
这个命令执行过程中,会问东问西,然后给你生成一个新的工程,你的代码可以放到里面。
注意:这个命令执行的最后一步会执行pod install,如果太慢或被墙,你可以中断掉它,然后自行执行

pod install --verbose --no-repo-update
第二步:编写podSpec文件
看你的工程里面有一个MyLib.podspec文件,把它修改一下,然后执行

pod lib lint MyLib.podspec
这个命令检查你的podspec是不是有问题,如果没有问题就会提示passed validation,有问题会指出来。

第三步:搞你的代码
请原谅我用'搞'这个词...就是把你想管理起来或者分享的代码搞到这个工程里面来,写个Example,让他跑起来没有问题

第四步:打tag和验证podspec
打tag并push

git tag 1.0.0
git push origin 1.0.1

push完tag以后,还需要再验证一次podspec,注意你的tag的版本号要和podspec一致。
pod spec lint MyLib.podspec

第五步:Push到Spec Repository
验证都没问题,就可以push了,但是等一等。。。如果你是第一次push的话,还要先创建一个session:
pod trunk register your@email.com 'Your Name' --description='macbook air'

然后查看邮箱,确认邮件就ok了。下面就push:
pod trunk push MyLib.podspec

这一步搞完,就大功告成了。最后你pod update一下,然后你的代码就可以在pod上面搜索到了
pod search MyLib

最后你就可以叫其他人来用你的pod了:
pod 'MyLib', '~>1.0'

第六步:FQ问题
cocoapods的spec 如果要更新的话,经常会被墙,可以执行以下命令,把地址指向国内镜像即可:

pod repo remove master
pod repo add master https://gitcafe.com/akuandev/Specs.git  
// or http://git.oschina.net/akuandev/Specs.git
pod repo update

结束语:
今后如果要更新Pod版本,也很简单,基本上就是打tag+push,也就是重复上面说的第4步和第5步。

如何将你牛逼的iOS代码分享到CocoaPod(转)的更多相关文章

  1. 这样Review代码牛逼啦!

    这样Review代码牛逼啦! 一个对项目负责的团队代码质量检查是必不可少的,有条件的团队经常有代码review习惯,这样可以使技术团队共同进步,但是一个庞大的工程做代码review其实是很麻烦的,所以 ...

  2. 为什么我会认为SAP是世界上最好用最牛逼的ERP系统,没有之一?

    为什么我认为SAP是世界上最好用最牛逼的ERP系统,没有之一?玩过QAD.Tiptop.用友等产品,深深觉得SAP是贵的有道理! 一套好的ERP系统,不仅能够最大程度承接适配企业的管理和业务流程,在技 ...

  3. 我喜欢ASP.NET的MVC因为它牛逼的9大理由(转载)

    我很早就关注ASP.NET的mvc的,因为最开始是学了Java的MVC,由于工作的原因一直在做.Net开发,最近的几个新项目我采用了MVC做了,我个一直都非常喜欢.Net的MVC.我们为什么使用MVC ...

  4. 最牛逼android上的图表库MpChart(三) 条形图

    最牛逼android上的图表库MpChart三 条形图 BarChart条形图介绍 BarChart条形图实例 BarChart效果 最牛逼android上的图表库MpChart(三) 条形图 最近工 ...

  5. 最牛逼android上的图表库MpChart(二) 折线图

    最牛逼android上的图表库MpChart二 折线图 MpChart折线图介绍 MpChart折线图实例 MpChart效果 最牛逼android上的图表库MpChart(二) 折线图 最近工作中, ...

  6. 最牛逼android上的图表库MpChart(一) 介绍篇

    最牛逼android上的图表库MpChart一 介绍篇 MpChart优点 MpChart是什么 MpChart支持哪些图表 MpChart效果如何 最牛逼android上的图表库MpChart(一) ...

  7. js深入研究之牛逼的类封装设计

    <script type="text/javascript"> var Book = function(newIsbn, newTitle, newAuthor) { ...

  8. Animate.css 一款牛逼的css3动画库

    Animate.css是一款很牛逼的,跨浏览器的css3动画库,使用方法也很简单只要引入一个animate.min.css就可以了, 简单使用 1 首先引入 animate的 css 文件样式 cdn ...

  9. Serializable 都这么牛逼了,Parcelable 还要你何用?

    一些闲聊 距离上一篇文章似乎又是很久了,看起来也没有很多反馈,催更就更不用说了.哈哈,放弃了. 话说最近公司在招聘一批至少 5 年开发经验的 Android 开发工程师,我也是忙开了花,激动得不行呀. ...

随机推荐

  1. Oracle前10条记录

    在Oracle怎样查询表中的top10条记录呢? select * from test where rownum <=10 下面是关于rownum的介绍 ==================== ...

  2. GO学习资源站

    GO语言学习资源网站 http://golangtc.com https://gobyexample.com http://golang-examples.tumblr.com

  3. haproxy hdr和path

    path : string This extracts the request's URL path, which starts at the first slash and ends before ...

  4. linux下维护服务器之常用命令

    linux下维护服务器之常用命令! 第1套如下: 正则表达式: 1.如何不要文件中的空白行和注释语句: [root@localhost ~]# grep -v '^$' 文件名 |grep -v '^ ...

  5. mfc subclasswindow attach setwindowlong使用区别

    1. CWnd::Attach BOOL Attach( HWND hWndNew ); 返回值:如果成功,则返回非零值:否则返回0. 参数: hWndNew 指定了Windows窗口的句柄. 说明: ...

  6. la 3942 Rember_前缀树

    #include <iostream> #include<cstdio> #include<cstring> using namespace std; #defin ...

  7. Anton and Lines(思维)

    Anton and Lines time limit per test 1 second memory limit per test 256 megabytes input standard inpu ...

  8. SQL Server中的sysobjects

    摘自:http://www.cnblogs.com/bugY/archive/2011/09/21/2184182.html 关于SQL Server数据库的一切信息都保存在它的系统表格里.我怀疑你是 ...

  9. C#接口的使用【转】

    我们定义一个接口public interface IBark{   void Bark();}再定义一个类,继承于IBark,并且必需实现其中的Bark()方法public class Dog:IBa ...

  10. web api 上传

    using System.Net; using System.Net.Http; using System.Web; using System.Web.Http;   namespace FileUp ...