近来有些时间便整理了下创建cocoapods 开源库的流程。
因为懒,所以写的就比较简洁。
注册CocoaPods账号
需要一个CocoaPods账号来发布更新代码库
-
查看账号信息
pod trunk me
输出结果:
若未注册则进行下面注册操作,已注册的可以跳至主要步骤。
未注册.png
已注册.png
-
注册命令
pod trunk register 邮箱地址 ‘用户名’ —description='描述信息'
打开注册邮箱点击验证链接打开网页,如果出现下面的提示说明注册成功。
注册成功.png
主要步骤
- 在Github上传相关的代码库
- 添加库文件并构建项目发布版Tag
- 创建podspec配置文件
- 验证配置文件是否可用
- trunk push 代码到 CocoaPods
- 检索已上传的库
1.在Github上新建仓库并添加MIT License(许可证/授权)文件。
![](https://img.haomeiwen.com/i1851315/dc9187bdba0cff60.png)
2.克隆项目至本地,添加库文件、编辑README.md,然后点击release构建项目发布tag或使用命令。(注:后面配置文件需要设置一致)
git tag '0.0.1'git push --tags
![](https://img.haomeiwen.com/i1851315/02ad4cd5c000ce5c.png)
3.创建podspec配置文件。
打开终端进入项目目录执行创建podspec命令:
pod spec create 库名称 // pod spec create YCSegmentView
![](https://img.haomeiwen.com/i1851315/5ec349a8b1cd0056.png)
编辑podspec配置文件,可参考官网文档
简单介绍:
s.name:名称 //需要和.podspec的名称一样,否则验证报错
s.version:版本号//需要和构建的tag版本一致,否则上传cocopods报错
s.ios.deployment_target:支持的pod最低版本
s.summary: 简介
s.description:描述//内容换行编辑,接着DESC写验证不通过
s.homepage:项目主页地址//这里要填写可以访问到的地址,不然验证不通过
s.license:开源协议// { :type => "MIT", :file => "LICENSE" }
s.author:作者信息
s.social_media_url:社交网址
s.source:项目的地址//这里不支持ssh的地址,验证不通过,只支持HTTP和HTTPS,最好使用HTTPS
s.social_media_url:多媒体介绍地址
s.platform:支持的平台及版本
s.source_files:需要包含的源文件
s.public_header_files:公开头文件地址
s.resources: 资源文件
s.requires_arc: 是否支持ARC
s.frameworks:所需的framework//多个用逗号隔开
s.dependency:依赖库//该项目所依赖的其他库,如果有多个需要填写多个s.dependency
参考配置
Pod::Spec.new do |s|
s.name = "YCSegmentView"
s.version = "0.0.1"
s.summary = "Padging controller"
s.description = <<-DESC
Conveniently create pagination effects
DESC
s.homepage = "https://github.com/YLeaves/YCSegmentView"
s.license = { :type => "MIT", :file => "LICENSE" }
s.author = { "YLeaves" => "619837152@qq.com" }
s.platform = :ios, "7.0"
s.source = { :git => "https://github.com/YLeaves/YCSegmentView.git", :tag => "#{s.version}" }
s.source_files = "YCSegmentView/*.{h,m}"
end
4.验证配置文件
执行以下命令:
pod lib lint 配置文件//pod lib lint YCSegmentView.podspec
若出现ERROR提示,对应修改配置文件内容。
若只有WARN输出,可以将这些警告忽略,忽略警告命令:
pod lib lint 配置文件 —allow-warnings//pod lib lint YCSegmentView.podspec —allow-warnings
当显示 xxx passed validation 时表示验证通过
![](https://img.haomeiwen.com/i1851315/c34d38d0a4c15e96.png)
5.push 代码到 CocoaPods
执行以下命令:
pod trunk push 配置文件//pod trunk push YCSegmentView.podspec
上传成功如下所示
![](https://img.haomeiwen.com/i1851315/8038523b92a31de0.png)
6.检索已上传的库
通过以下命令检索已上传的库
pod search 库名//pod search YCSegmentView
若检索不出可以清除缓存检索目录。
rm ~/Library/Caches/CocoaPods/search_index.json
结语
以上就是发布开源库至cocopods的流程。后续若更新库功能,需重新构建发布tag和配置文件的s.version版本。然后再执行trunk push 更新cocopods库即可。
At last
YCSegmentView 是基于UIPageViewController实现的分页视图
通过UIPageViewController懒加载控制器视图进行代码解耦,避免一次性渲染所有子视图。欢迎download下载提意见,Star,感谢阅读。
网友评论