做为一个iOS开发者常常使用别人的框架,很羡慕那些大神,今后我也要开始写框架装逼一波了。既然提及第三方,就免不了提起第三方管理框架cocoapods若是你尚未用过就去点这儿去面壁吧ios
我也刚开始写开元框架发布到cocoapods 大神请留情git
我这里作了一个小demo 仅供参考github
1上传源代码到github仓库再克隆到本地, 若是项目原本就在gitub上,直接clone就能够了json
2.建立项目的podspec文件服务器
用终端命令cd到本地项目目录并执行以下命令:app
$pod spec create QKGroupListExample 这时候本地生成一个QKGroupListExample.podspec文件框架
用编辑器打开.podspec文件(我本身用Sublime Text)编辑器
Pod::Spec.new do |s|ide
s.name = “QKGroupListExample” //项目名称ui
s.version = “1.0.0” //项目的版本号
s.summary =“all kinds of categories for iso develop” //这是一个iOS开发的项目
s.description = <<-DESC //对项目的描述
this project provide all kinds of categories for ios develop
DESC
s.homepage = “https://github.com/dqksoftware/QKGroupListExample” //项目的主页地址
s.license = {:type =>”MIT”, :file => “LICENSE”} //基本上开源的项目的license的类型都是MIT
s.author = {“dqk”=>”dqksoftware@163.com”}
s.platform = :ios
s.source = {:git => “https://github.com/dqksoftware/QKGroupListExample.git”, :tag => “1.0.0”}
s.souce_files = {“Clases/*{h.m}”} //公共资源文件也就是pod 下来的文件 *.{h,m}是通配符意思是全部在该目录下以.h .m结尾的文件 该目录地址是相对于QKGroupListExample.podspec文件的
s.requires_arc = true //该项目是arc模式
end
->QKGroupListExamole (1.0.0)
QKGroupListExamole passed validation
则说明 验证经过,不然,根据提示修改podspec文件再次验证,直到验证经过附带说一下,Xcode容许警告存在,因此能够经过命令屏蔽警告 $ pod lib lint - - allow-warnings
若是出现Error可是提示信息不足,能够添加—verbose 以获取更多的错误信息
$ pod lib lint —verbose
4 打印tag上传podspec
podspec 文件中须要指定的tag,完成上述操做后给项目打上tag
$ git tag -m”first release ios_Category with podspec” “1.0.0”
$git push - -tags
最后使用pod trunk 命令,把podspec文件推送到cocoapod官网库
5 注册pod trunk
在终端输入如下命令 参数 邮箱地址, 用户名, 邮箱地址用github 上的最好
$ pod trunk register dqksoftware@163.com ‘dqk’ —verbose
向服务器查询本身注册的信息 $ pod trunk me
输出以下信息就表示注册成功:
-Name:dqk - Email: dqksoftware@163.com - Since: July17th,06:26- Pods: - QConnectionDownloader - QFormData - QHashString - QSessionDownloader - QWebImage - Sessions: - July17th,06:26- November23rd,01:33.IP:43.225.238
6 经过trunk推送podspec文件
$ pod trunk push QKGroupListExample.podspec 这个工程可能会比较耗时
7.最后一切顺利
在终端输入
pod search iOS_Category 来搜索你的项目吧
若是搜素出现错误时:
Unable to find a pod with name, author, summary, or description matching `QKGroupListExample`
在终端中输入 :rm ~/Library/Caches/CocoaPods/search_index.json
而后在进行搜素
如图: