开始有几个知识点需要了解下:
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 上创建一个公开项目,项目中必须包含这几个文件:
- LICENSE:开源许可证;
- README.md:仓库说明;
- 你的代码;
- 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上,这一步其实做了很多操作,包括:
- 更新本地 pods 库 ~/.cocoaPods.repo/master;
- 验证.podspec格式是否正确;
- 将 .podspec文件转成 JSON 格式;
- 对 specs master仓库进行合并、提交;
这里是私用库提交成功的过程
说明发布成功后就可以在 cocoapods.org/pods/MyPoje… 进入的Pods查看自己的仓库信息了。
5、使用集成
发布到Cocoapods后,更新本地pods仓库信息
pod setup //知道在做什么操作吧
然后pod search MyPoject,查找成功话,就可以在Podfile中添加使用了。
6、更新维护
当你的代码更新维护后,就需要重写发布,流程是:
- 更新MyPoject.podspec中的版本号
- 打上标签推送远程
- pod trunk push MyPoject.podspec 推送到pods仓库