博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
发布自己的开源库到Cocoapods
阅读量:6904 次
发布时间:2019-06-27

本文共 1861 字,大约阅读时间需要 6 分钟。

作为一个iOS开发者,Cocoapods是我们再熟悉不过的了。pods上有很多优秀的第三方库,一行代码就可以很方便地使用。既然它这么方便,我们何不上传自己的开源库上去跟大家分享呢?所以,这篇我们来学习下如何把自己的开源库上传到Cocoapods供其他Developer使用。

另外:如果你还不会使用Cocoapods,推荐你看一看我的另一篇文章:

#Podspec描述文件

假设你已经把项目开源到了Git上,记得打上tag(这里是为了方便以后配置描述文件,不强制,但是强烈建议这样做)。

通过下面的命令生成一个spec文件:

pod spec create ZXDatePicker复制代码

**注意:**这个描述文件放在哪里都可以不必放在git库中上传

这个文件的主要内容就在下面:

Pod::Spec.new do |s|  s.name         = "ZXDatePicker"  #name:"你的库的名字"  s.version      = "0.0.6"  #s.version: "版本号tag"  s.summary      = "A sample datePicker."  #s.summary : "该开源库的简单介绍描述"  s.homepage     = "https://github.com/Goyakod/ZXDatePicker"  #s.homepage: "你的git主页"  s.license      = "MIT"  #s.license : "MIT许可"  s.author       = { "Goyakod" => "111111111@qq.com" }  #s.author : { "yourName" => "your email address" }  s.source       = { :git => "https://github.com/Goyakod/ZXDatePicker.git", :tag => "0.0.6" }  #s.source : { :git => "开源库的git地址", :tag => "tag版本" }  s.source_files  =  "ZXDatePicker/**/*.{h,m}"  #s.source_files:"源文件路径"  s.framework  = "UIKit"  #s.framework : "依赖的框架",如果依赖多个就用s.frameworks  s.platform     = :ios, "7.0"  #s.platform :平台end复制代码

*关于上面字段填写内容的注意事项:

1.MIT许可证,其实就是一个txt文件,文本内容从里面拷贝模板更改年份和你的名字即可。 2.Sourcefile,这个路径一定要填写正确,这个地址取决于spec文件的当前位置。

###验证描述文件 填完上面所有之后,执行命令:

pod spec lint yourPodName.podspec复制代码

命令执行完看到yourPodName passed validation.就证明通过了验证。验证未通过会提示有几个Error几个Warnings。仅有Warnings也是通过不了验证的,所以尽量把所有问题解决掉然后来验证。

验证通过后,去到 ~/.cocoapods/repos/master/Specs 目录下,创建自己的库名的文件夹,里面是版本文件夹,放入对应的描述文件。

现在你在本机上搜索已经能够找到自己的库了。

#CocoaPods Trunk发布 为了让别人也能搜到你的库,还需要进行发布。

###注册trunk 执行命令:

pod trunk register youremail@qq.com  'your name' --description='description'复制代码

上面命令执行完之后你的邮箱会受到验证邮件,点击验证即可。

###trunk 发布 在包含有.podspec的目录下执行命令:

pod trunk push复制代码

该命令会首先验证你本地的podspec文件,之后会上传spec文件到trunk,最后会将你上传的podspec文件转换为需要的json文件。当你在目录下看到json文件时就意味着你的库已经成功上传到了pod上。

#最后 如果你觉得本文还不错,请移步给个star(不给我也不能拿你怎么样...看心情吧)。

转载地址:http://awmdl.baihongyu.com/

你可能感兴趣的文章
2018中国计算机大会:阿里云高级总监谈超大规模超高性能分布式快存储系统
查看>>
智能|跟着美的集团学习VMI正确的打开方式
查看>>
简单搜索--Paddle Mobile的技术实现和业务落地
查看>>
滚动到顶部-jquery.scrolltotop.js
查看>>
linux环境安装JDK和Tomcat步骤
查看>>
Hibernate框架使用 getCurrentSession()获取Session对象相关问题
查看>>
Spring基本介绍,控制反转IOC与面向切面编程AOP
查看>>
HR系统软件推荐_用户体验度好的人事软件
查看>>
[mysql] 先按某字段分组再取每组中前N条记录
查看>>
即时通讯服务端实践
查看>>
服务器和存储之间一定要连接光纤交换机吗?
查看>>
Java线程池使用时需要注意的几点
查看>>
HTML简介
查看>>
批量修改页面标签的属性
查看>>
oracle中日期格式的转换
查看>>
CISCO路由器端口故障状态及解决
查看>>
同步传输与异步传输
查看>>
我的2014--新的开始,新的征程,加油!
查看>>
JS图片无缝、平滑滚动代码,多用于推广页面
查看>>
排序算法(一)
查看>>