把自己Github上的代码添加Cocoapods支持

AllanHou· 2016-10-28

 

一、前言

这两天被cocoapods折磨的心力憔悴。看cocoapods官网的添加支持,但是介绍的(ying)比(yu)较(tai)简(cha)单,而且有的步骤也没有写上,导致看着官方文档也没有成功,后来查阅了简书、CocoaChina等等,还是已经接近崩溃。没有一个完整的介绍。索性多个文档对比测试,最后终于成功的让自己Github上的库成功支持Cocoapods安装。

 

二、开始

这里我将从最初的开始进行介绍,包括Github上创建项目已经上传项目,到最后的支持Cocoapods。

步骤如下:

  • 代码上传Github

  • 创建podspec文件,并验证是否通过

  • 在Github上创建release版本

  • 注册CocoaPods账号

  • 上传代码到CocoaPods

  • 检查上传是否成功

1 代码上传Github

首先我们打开github.com,然后创建自己的项目工程:

 

这里注意那个MIT License,在后面添加Cocoapods支持的时候会用到(稍后介绍)。然后点击创建即可。

然后用SouceTree将代码down到本地,将自己的项目放到里面,文件夹如图所示:

 

这里的LICENSE就是刚才说的MIT License添加的文件。RSADemo是示例工程,ZGRSAEncryptor就是提供给他人使用的库。(ZGEncrptor(For java).zip是后端的代码)

然后提交到Github就可以了。

 

2创建podspec文件

我们使用终端到工程目录下:

 

然后执行下面的命令:

pod spec create ZGRSAEncryptor

这里的ZGRSAEncryptor就是pod添加市的名字(例如MBProgressHUD)。执行完后的结果: 

 

此时在工程文件夹下也会多一个ZGRSAEncryptor.podspec文件。这里我用Sublime Text打开并做了如下编辑:

Pod::Spec.new do |s|
  s.name         = "ZGRSAEncryptor"
  s.version      = "1.0.0"
  s.summary      = "A Library for iOS to use for RSA encryptor."
  s.homepage     = "https://github.com/ScottZg/ZGRSAEncryptor"
  s.license      = "MIT"
  s.author             = { "scottzg" => "scottzg@126.com" }
  s.source       = { :git => "https://github.com/ScottZg/ZGRSAEncryptor.git", :tag => "#{s.version}" }
  s.source_files  = "ZGRSAEncryptor/*.{h,m}"end

name:类库的名称这里字段介绍如下:

version:库的版本

summary就是介绍语,就是:

 

homtepage:Github上项目地址

license:许可证

author:作者

source:项目的https链接地址

source_files:要共享的代码,这里是ZGRSAEncryptor下面的所有代码。

接下来执行下面的命令进行验证:

pod lib lint ZGRSAEncryptor.podspec

结果多种多样,如果有错,则按照提示进行改错即可。在这里,我执行的结果如下图: 

 

发现了多个警告,只要不是错误就行,警告可以直接忽略(红色也提示如何忽略):

pod lib lint ZGRSAEncryptor.podspec —allow-warnings

结果如下:

当看到ZGRSAEncryptor passed validation之后,就说明验证通过了。

 

3 在Github上创建release版本

打开项目的目录,然后创建release版本的类库:

 

 

点击 箭头指向开始创建release版本,(点击 Create a new release):

 

点击Publish release即可。创建完成后如图所示:

这样第三步就完成了

 

4 注册CocoaPods账号

执行命令行:

pod trunk register 邮箱地址 ‘用户名’ —description='描述信息'

执行完之后结果如下:

 

黄色提示已经发送了一个验证码到邮箱,你可以打开你的邮箱验证即可。打开邮件中的链接后如下:

 

这样就成功注册了Cocoapods账号。

可以用

pod trunk me

检查是否创建成功。成功的结果如下:

5 上传代码到CocoaPods

首先检测文件格式的有效性:

pod spec lint

结果如下: 

 

没有错误,但是有警告。可以使用 —allow-warnings忽略:

 

出现passed validation就说明通过验证了。然后执行:

pod trunk push ZGRSAEncryptor.podspec —allow-warnings

执行结果如下:(速度应该有的慢)

 

说明了已经上传成功。

 

6 检查上传是否成功

使用

pod search ZGRSAEncryptor

结果如下:

ok,已经成功了。这样就可以让其他人进行搜索使用了。

 

三、总结

百度、Google了多篇文档,然后进行总结,终于实现了构建自己的Cocoapods库。在后面我将会继续学习怎么在本地进行构建、怎么在公司多人开发的时候进行构建私有库开发。

 

四、参考文档:

1、http://www.cocoachina.com/ios/20160415/15939.html

2、http://www.cocoachina.com/ios/20160907/17501.html

3、https://cocoapods.org/