CocoaPods(二)公有库的创建

341 阅读2分钟

开始有几个知识点需要了解下:

1、 cocoapods管理着在cocoapods上注册的第三方库,这一部分就是公有库,所有人都能看到都能使用的,比如AFNetworking;

2、这个公有库本质上是一个索引库,其实就是git上的一个project工程(CocoaPods/Specs)。所有注册过的第三方库都能在这里找到;

3、我们本地也维护着这个索引库,还记得下载安装cocoapods时候的漫长等待吗,就是在git clone这个库,大概不到200mb;

cd ~/.cocoapods/repos/master

4、.podspec文件:第三方库的pod描述文件,描述了这个库的各个信息,必须也是最重要的文件;

Pod::Spec.new do |s|
  s.name         = "MyPoject"     # 项目名称
  s.version      = "0.0.1"        # 版本号 与 你仓库的 标签号 对应
  s.license      = "MIT"          # 开源证书
  s.summary      = "私人pod代码"  # 项目简介

  s.homepage     = "https://github.com/xxxx/MyPoject" # 仓库的主页
  s.source       = { :git => "https://github.com/xxxx/MyPoject.git", :tag => "#{s.version}" }#你的仓库地址,不能用SSH地址
  s.source_files = "Specs/*.{h,m}" # 你代码的位置, 表示 Specs 文件夹下所有的.h和.m文件
  s.requires_arc = true # 是否启用ARC
  s.platform     = :ios, "7.0" #平台及支持的最低版本
  # s.frameworks = "UIKit", "Foundation" #支持的框架
  # s.dependency = "AFNetworking" # 依赖库
  
  # User
  s.author             = { "BY" => "xxxx@163.com" } # 作者信息
  s.social_media_url   = "http://www.xxxx.com" # 个人主页

end

下面我们自己思考下,如果发布公有库,应该做些什么?

聪明的朋友应该想到了:

1、在cocoapods上注册账号

2、创建自己的git第三方库

3、创建/发布.podspec文件(CocoaPods/Specs 仓库中添加我们的仓库描述信息)

1、注册 CocoaPods 账号

想创建开源的Pod库,就要注册一个CocoaPods账号,我们使用终端注册, email 用你的 GitHub 邮箱

$ pod trunk register GitHub_email 'user_name' --verbose

等终端出现下面文字,CocoaPods会发一个确认邮件到你的邮箱上,登录你的邮箱进行确认。

[!] Please verify the session by clicking the link in the verification email that has been sent to you_email@163.com

确认成功后就注册成功了,可以用一下命令检查注册信息

pod trunk me

2、创建git第三方库()

在 GitHub 上创建一个公开项目,项目中必须包含这几个文件:

  1. LICENSE:开源许可证;
  2. README.md:仓库说明;
  3. 你的代码;
  4. MyPoject.podspec: CocoaPods 的描述文件,这个文件非常重要;

重点讲解创建.podspec文件

.podspec是用 Ruby 的配置文件,描述你项目的信息,根目录下

pod spec create MyPoject

然后就创建成功了,打开后可以按着上面说的修改,填写相应信息;具体字段含义可以上网查询。

接下来,验证此重要 .podspec 文件的格式是否正确,

pod lib lint(--allow-warnings) //验证本地

pod spec lint //验证远程

3、打tag

将代码提交到远程,并且打上tag,tag号要和podspec中一致; 标签相当于将你的仓库的一个压缩包,用于稳定存储当前版本;

$ git tag -a 1.0.0 -m '标签说明' 
$ git push origin --tags

4、发布.podspec

根目录下:

pod trunk push MyPoject.podspec

将你的 MyPoject.podspec发布到公有的specs上,这一步其实做了很多操作,包括:

  1. 更新本地 pods 库 ~/.cocoaPods.repo/master;
  2. 验证.podspec格式是否正确;
  3. 将 .podspec文件转成 JSON 格式;
  4. 对 specs master仓库进行合并、提交;

这里是私用库提交成功的过程

说明发布成功后就可以在 cocoapods.org/pods/MyPoje… 进入的Pods查看自己的仓库信息了。

5、使用集成

发布到Cocoapods后,更新本地pods仓库信息

pod setup //知道在做什么操作吧

然后pod search MyPoject,查找成功话,就可以在Podfile中添加使用了。

6、更新维护

当你的代码更新维护后,就需要重写发布,流程是:

  1. 更新MyPoject.podspec中的版本号
  2. 打上标签推送远程
  3. pod trunk push MyPoject.podspec 推送到pods仓库