为了让读者一目了然,现在就从新建工程到最后提交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. HeadFirst设计模式读书笔记(5)-单例模式

    单例模式:确保一个类只有一个实例,并提供一个全局访问点. 应用场景:数据库连接.线程池.缓存.对话框.处理偏好设置.注册表的对象.日志对象.充当打印机.显卡等设备的驱动程序对象.任务管理器.网站的计数 ...

  2. tftp使用方法

    参数说明:-l   是local的缩写,后跟存在于Client的源文件名,或下载Client后               重命名的文件名.          -r   是remote的缩写,后跟Se ...

  3. bzoj3299 [USACO2011 Open]Corn Maze玉米迷宫

    Description 今年秋天,约翰带着奶牛们去玩玉米迷宫.迷宫可分成NxM个格子,有些格子种了玉 米,种宥玉米的格子无法通行.  迷宫的四条边界上都是种了玉米的格子,其屮只有一个格子 没种,那就是 ...

  4. #include <boost/shared_array.hpp>

    共享数组 共享数组的行为类型于共享指针.关键不同在于共享数组在析构时,默认使用delete[]操作符来释放所含的对象.因为这个操作符只能用于数组对象,共享数组必须通过动态分配的数组的地址来初始化.共享 ...

  5. javascript第十四课,方法的扩展prototype

    所谓扩展方法就是,在原函数的基础上我们往对象里面添加一些自己需要的方法,例如: string对象 string.prototype.checkEmail=function(){ //方法体 //在这里 ...

  6. poj2488 A Knight's Journey

      A Knight's Journey Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 24840   Accepted:  ...

  7. E6全部刷机包

    此版本号基于R533_G_11.11.10P_GSZMCAUT679DA01B_LP064DA_T679DA_S005_E001_P002_R001_G004_1FF.sbf制作耳机接听或挂机正常内置 ...

  8. oracle后台进程2

    oracle中的进程共分为三类:用户进程.服务进程.后台进程.其中后台进程伴随实例的启动而启动,他们主要是维护数据库的稳定,相当于一个企业中的管理者及内部服务人员.他们并不会直接给用户提供服务. 一: ...

  9. 对js中prototype的理解

    一直不理解child.prototype = new Parent()和child.prototype =Parent.prototype的区别,到现在为止,我觉得它俩最大的区别就是:前者共享构造器里 ...

  10. JavaScript学习笔记——简单无缝循环滚动展示图片的实现

    今天做了一个简单的无缝循环滚动的实例,这种实例在网页中其实还挺常见的,下面分享一下我的学习收获. 首先,无缝滚动的第一个重点就是——动.关于怎么让页面的元素节点动起来,这就得学明白关于JavaScri ...